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