15.2.2 Необходимое пространство для ключей
MyISAM таблицы используют индексы B-дерева. Вы можете примерно рассчитать размер файла индекса как (key_length+4)/0.67, суммированное по всем ключам. Это для худшего случая, когда все ключи вставлены в отсортированном порядке, а таблица не имеет сжатых ключей.
Индексы строк сжаты по пространству. Если первая часть индекса — строка, она также сжимается по префиксу. Сжатие по пространству делает файл индекса меньше, чем значение худшего случая, если столбец со строками содержит много лишних пробелов или является столбцом VARCHAR, который не всегда используется на всю длину. Сжатие по префиксу используется для ключей, начинающихся со строки. Сжатие по префиксу полезно, если есть много строк с одинаковым префиксом.
В MyISAM таблицах вы также можете сжимать числа по префиксу, указав параметр таблицы PACK_KEYS=1 при создании таблицы. Числа хранятся с старшим байтом первым, что помогает, когда у вас есть много целых ключей с одинаковым префиксом.
© 2025 Oracle
Licensed under the GPLv2 License.