структура данных innodb - PullRequest
       43

структура данных innodb

1 голос
/ 09 января 2011

Мне кажется, я понимаю, как INNODB структурирует таблицу (используя кластерные индексы btree = PK и листы, содержащие сами строки). Вторичные индексы используют тот же принцип (кластерный индекс btree = вторичный индекс), а лист содержит PK, который используется в качестве указателя (именно поэтому может потребоваться поиск второго индекса).

http://www.chenyajun.com/wp-content/uploads/2008/12/3-9.jpg поэтому сортировка основана на индексе в INNODB.

Но я действительно не могу понять, как принцип кластеризации btree index используется для физической сортировки и хранения покрывающих / составных индексов в INNODB.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2011

Это можно объяснить диаграммой, с которой вы связались:

  • (Типичный) доступ к индексу вторичного ключа сначала начинается с обхода некластеризованного индекса, поиска значения (й) первичного ключа, а затем обхода первичного ключа для поиска данных. Или, другими словами, два независимых поиска дерева для поиска данных.

  • Покрывающий индекс - это место, где все необходимые данные хранятся в индексе вторичного ключа. Обычно вы просто добавляете один столбец в конец индекса - и это единственный столбец, который вы запрашиваете как часть вашего оператора SELECT.

0 голосов
/ 09 февраля 2011

эта статья может оказаться интересной:)

http://www.xaprb.com/blog/2006/07/04/how-to-exploit-mysql-index-optimizations/

...