Зачем нужны индексы Mysql

Индексы, в основном, используются для ускорения выборки данных. Кроме того, с пом. индексов можно проверять некоторые вещи, связанные с целостностью данных, в частности, уникальность значений в поле.
1. PK — primary key, служит для однозначной идентификации строки. В связи с этим должен быть уникальным (в пределах таблицы разумеется) и не может содержать NULL
2. UNIQUE — обеспечивает уникальность значений в поле, но в отличие от PK допускает NULL-значения
3. INDEX — служит для ускорения выборки по неуникальным полям, если это поле часто встречается в WHERE запросов. Надо только иметь ввиду, что если в колонке много одинаковых значений (т.н. низкая селективность индеска), то такой индекс м.б. неэффективен. Кроме того, создавая индексы, надо соблюдать некую золотую середину, поскольку наличие индекса ускоряет SELECT, но замедляет DML-операции (insert, update, delete), т.к. при изменении данных в таблице надо корректировать и индексы
4. FULLTEXT — вещь достаточно специфическая, используется в полях TEXT

Почитать об этом можно в любой книжке по теории реляционных БД

Обновлено: 18/01/2016 — 04:16

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *