MySQL: где кластеризованные (логические индексы) сохранения
Некластеризованный файл, хранящийся в файлах данных, кластеризованный индекс хранит данные в порядке логического индекса.
Где находится логический порядок?
1 ответ
Большинство индексов MySQL структурированы как BTrees. (См. Википедия)
(Я исключаю FULLTEXT
а также SPATIAL
индексы из этого обсуждения.)
InnoDB-х PRIMARY KEY
является BTree и "кластеризован" с данными. То есть данные хранятся в порядке PK в BTree.
InnoDB "вторичные ключи" и все индексы MyISAM хранятся в отдельных структурах BTree.
В листовом узле индекса MyISAM находится смещение в файле данных, где хранится вся строка. В листовом узле вторичного индекса InnoDB есть копия PRIMARY KEY
Колонка (ы).
Все индексы хранятся "по возрастанию" в числовом (если числовой столбец) или в порядке сортировки (если строковый тип) порядке.
(Я не знаю, что вы подразумеваете под "логичным", но, возможно, я ответил на него.)