будет ли индекс храниться с другим столбцом? [MariaDB] - PullRequest
0 голосов
/ 03 мая 2019

есть таблица.

tb_a

seq(pk) | name | type | regist_time

и есть 5 записей.

seq | name | type | regist_time  
-------------------------------
1   |  B   | 200  | 2019-05-03
-------------------------------
2   |  A   | 300  | 2019-05-03
-------------------------------
3   |  E   | 100  | 2019-05-03
-------------------------------
4   |  D   | 100  | 2019-05-03
-------------------------------
5   |  C   | 100  | 2019-05-03

и добавить индексное имя

index(name)

** ВОПРОС **
имя хранится в одиночестве? как показано ниже:

name
----
 A
----
 B
----
 C
----
 D
----
 E

или храниться с другими столбцами?

seq | name | type | regist_time  
-------------------------------
2   |  A   | 300  | 2019-05-03
-------------------------------
1   |  B   | 200  | 2019-05-03
-------------------------------
5   |  C   | 100  | 2019-05-03
-------------------------------
4   |  D   | 100  | 2019-05-03
-------------------------------
3   |  E   | 100  | 2019-05-03

1 Ответ

0 голосов
/ 03 мая 2019

Когда вы создаете индекс по столбцу в большинстве современных систем БД, вы можете думать, что индекс содержит только значение столбца и указатель на связанную строку.Он не содержит содержимого какого-либо другого столбца (это немного сложнее, чем это, но для наших целей это достаточно хорошо).

Если у вас есть запрос, который использует индекс и извлекает несколько столбцов из БД, система извлечет «имя» из индекса и затем использует указатель, чтобы найти правильные строки.Затем он выбирает фактические строки из таблицы, чтобы найти и вернуть все остальные данные

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