Создать индекс для столбца MySQL на основе длины его содержимого?

StackOverflow https://stackoverflow.com/questions/84346

  •  01-07-2019
  •  | 
  •  

Вопрос

Как мне создать индекс для столбца в MySQL версии 5.0 (движок myisam db engine) на основе длины его значения - это ТЕКСТОВЫЙ тип данных длиной до 7000 символов, должен ли я добавить еще один столбец с длиной первого столбца?

Это было полезно?

Решение

Да, поскольку MySQL не поддерживает индексы на основе функций (например ADD INDEX myIndex(LENGTH(text))), вам понадобится новый столбец int и определите триггер чтобы автоматически обновлять его после вставок и обновлений.

Другие советы

Звучит как хороший подход для меня (извините, я не знаю mysql, но в oracle вы могли бы установить триггер, чтобы при обновлении вашего основного столбца столбец "длина" обновлялся автоматически)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top