Я только начинаю исследовать оптимизацию для моей базы данных MySQL. Из того, что я читаю, индексирование кажется хорошей идеей - поэтому я хочу создать индекс на одном из моих столбцов VARCHAR
, на столе, используя движок MyISAM
.Размеры индекса в MySQL
Из того, что я читаю, я понимаю, что индекс ограничен размером в 1000 байт. А символ VARCHAR
имеет размер 3 байта. Означает ли это, что если я хочу индексировать столбец VARCHAR
с 50 строками, мне нужен префикс индекса из 6 символов? (1000 байт/50 строк/3 байта на символ = 6.66)
Если это так, это кажется немного усложненным - вот почему я ставил под сомнение мое понимание. Кажется довольно странным, что вы могли бы индексировать 333 строки в столбце VARCHAR
, используя префикс из 1 символа.
Я что-то упустил?
О, поэтому ограничение 1000 байтов применяется только к имени столбца? – Tommy
@Tommy: оно применяется к максимальному количеству символов, которые вы можете сохранить в индексированном столбце одной записи. – Quassnoi
Спасибо, это немного разъясняет. Поэтому каждая запись в столбце, который я хочу индексировать, может содержать 333 символа. В чем причина использования индексного префикса с менее чем 333 символами? В примере в ссылке mysql используется префикс из 10 символов. – Tommy