использование индекса b-дерева для нескольких столбцов в таблице - PullRequest
0 голосов
/ 09 января 2019

Насколько я знаю, одним из самых распространенных индексов в базе данных является тот, который использует b-tree.

Если у меня есть индекс для целочисленного столбца

column1 column2
   2     name2
   3     name3
   1     name4

может создать индекс, который выглядит следующим образом

 2
| |
1 3

Если я использую column2, это может создать его следующим образом

   name2
 |      |
name1 name3

Но если у меня есть составной индекс с двумя полями, как он тогда будет упорядочен? Будет ли это просто базовые сравнения для двух столбцов?

Существуют ли другие дополнительные оптимизации, которые база данных выполняет для структуры индекса?

1 Ответ

0 голосов
/ 09 января 2019

Несколько ключей все используются вместе в индексе:

     2,name2
     |     |
1,name4  3,name3

Сравнение производится по первому ключу. Только в случае связей следующий ключ используется. Итак, если бы все числа были одинаковыми, вы бы получили:

     2,name2
     |     |
2,name3  2,name4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...