EN - FR - DE - ES - IT - PT -

LexiconDream

📇 Индекс

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

Индекс

Индекс ускоряет поиск данных. Без него база данных сканирует каждую строку в поисках совпадающих записей. С индексом она переходит непосредственно к нужным строкам. Индекс — это отдельная структура данных, которая сопоставляет значения с местоположениями. Книжный указатель работает аналогично. Вы ищете термин и находите номер страницы. Вам не нужно читать каждую страницу, чтобы его найти. База данных делает то же самое.

Индексы имеют свою цену. Они занимают место. Они замедляют операции вставки, обновления и удаления, поскольку индекс также должен обновляться. Каждая операция записи становится дороже. Преимуществом является более быстрое чтение. Для рабочих нагрузок с интенсивным чтением индексы необходимы. Для рабочих нагрузок с интенсивным записью слишком большое количество индексов снижает производительность. Выбор столбцов для индексации требует понимания шаблонов запросов. Столбцы, используемые в предложениях WHERE, условиях JOIN и предложениях ORDER BY, являются хорошими кандидатами. Столбцы с низкой кардинальностью, такие как логический флаг, являются плохими кандидатами, поскольку индекс не сильно сужает область поиска. Составные индексы охватывают несколько столбцов и могут обслуживать запросы, фильтрующие по нескольким полям. Порядок столбцов в составном индексе имеет значение. База данных может использовать составной индекс для запросов по ведущему столбцу, но не только по последующим столбцам. Проектирование индекса — это компромисс. Цель состоит в том, чтобы ускорить важные запросы, не замедляя при этом операции записи больше, чем необходимо.

Типы индексов

Индекс — это своего рода ярлык. Он жертвует скоростью записи и объемом памяти ради скорости чтения. Используйте его там, где скорость чтения наиболее важна.


Warning: session_start(): Cannot start session when headers already sent in /var/www/lexicondream.com/inc/functions.php on line 63

Comments (3)

  1. Derek S.
    Database indexes are a tradeoff. They speed up reads but slow down writes and take up space. Knowing when to add one is an art.
  2. Pam L.
    A primary key automatically creates an index. That's something a lot of beginners don't realize.
  3. Chris T.
    Without an index the database has to scan every row. With one it can jump straight to the data. Huge performance difference.

Leave a comment