Почему phpMyAdmin говорит, что первичный ключ и ограничение UNIQUE являются индексами? - PullRequest
0 голосов
/ 26 ноября 2018

Исходя из моего понимания:

  • Первичный ключ - это ограничение, которое предотвращает дублирование значений в столбце, то же самое для ограничения UNIQUE.
  • Индекс - это структура данныхкоторый используется СУБД для ускорения выполнения запросов.

Но почему phpMyAdmin говорит, что первичный ключ и ограничение UNIQUE являются индексами?:

enter image description here

1 Ответ

0 голосов
/ 26 ноября 2018

Поскольку они являются.

Когда вы вставляете новую строку и в каком-то столбце определено значение UNIQUE, ядро ​​базы данных должно просмотреть значения, уже сохраненные в столбце, чтобы решить, является ли вставленное значениесталкивается с чем-то уже сохраненным.Этот процесс значительно упрощается с помощью индекса.Вот почему все распространенные поставщики БД реализуют уникальные ограничения (UNIQUE, PRIMARY KEY и т. Д.) В качестве индексов (или поддерживают их с помощью индексов).

Общая идея заключается в том, что PK, уникальные ограничения, индексы, уникальные индексы, частичные индексы и т. д. все взаимосвязаны.Они просто имеют немного разные свойства (обычные индексы не выдают ошибку для дубликатов, тогда как уникальные индексы делают).Вот почему вы обычно находите информацию о PK и уникальных ограничениях в information_schema.indexes.

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