В MySQL могут поддерживаться
различные типы индексов, однако
обычно это тип ISAM или
MyISAM. Для обоих типов
используется индекс B-дерева, так
что приблизительно вычислить
размер индексного файла можно по
формуле (длина
ключа+4)/0.67, просуммированной
по всем ключам (приведено значение
для самого худшего случая, когда
все ключи вставлены в порядке
сортировки и сжатые ключи
отсутствуют).
В индексах строк сжаты пробелы.
Если первая часть индекса является
строкой, префикс также будет сжат.
Сжатие пробелов позволяет
уменьшить индексный файл в
сравнении со значениями,
вычисляемыми по приведенной выше
формуле, если столбец строки
содержит много пробелов в конце
строки или является столбцом
VARCHAR, который не всегда
используется на полную длину.
Сжатие префикса используется с
ключами, которые начинаются со
строки. Сжатие префикса полезно в
случае, если имеется много строк с
одинаковыми префиксами.
В таблицах MyISAM можно
также сжимать числа в префиксах,
указывая при создании таблицы
PACK_KEYS=1. Это полезно в
случае, когда имеется много
целочисленных ключей с
одинаковыми префиксами, а числа
хранятся с первым старшим байтом.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
