Восстановить индексы после изменения длины поля VARCHAR - PullRequest
0 голосов
/ 01 января 2019

У меня есть таблица InnoDB в моей базе данных MySQL.В нем у меня есть поле (не первичный ключ), которое VARCHAR(20).И он индексируется.

Но недавно мне пришлось увеличить размер до 75.То есть VARCHAR(75)

Итак, нужно ли мне что-то делать, чтобы переиндексировать это поле?Или индексы обновляются автоматически или не будут затронуты?

На данный момент эта таблица содержит только около 2000 строк.

Кроме того, что, если это было поле PRIMARY KEY, которое яхотите увеличить размер?То есть предположим, что мой первичный ключ - VARCHAR, и я хочу увеличить длину поля.

Ответы [ 2 ]

0 голосов
/ 01 января 2019

Индексы обновляются при изменении определений столбцов.

ANALYZE TABLE mytable; - это всегда хорошая идея после внесения существенных изменений в таблицу;он обновляет статистику индекса, чтобы планировщик запросов мог выполнять свою работу максимально эффективно

Основные изменения включают в себя множество вставок, удалений или обновлений индексированных столбцов, а также изменение таблицы.

0 голосов
/ 01 января 2019

Увеличение размера varchar не влияет на indicex.Вы можете продолжать использовать без повторного создания ваших индексов.

...