DB

Индексы и селективность в БД

Индекс – это отсортированный набор значений. Применяются для уменьшения времени выполнения запроса. Создаются для колонки при условии использования в:

  • WHERE;
  • ORDER BY;
  • Агрегатных функциях(MIN и MAX).

Составной индекс - индекс, который создан по 2+ полям. Работает так же как и обычный индекс, но информация из колонок храниться вместе. Очередность колонок в индексе важна. Обычно колонки, которые используются в условиях WHERE, следует ставить в начало индекса. Колонки из ORDER BY — в конец.

Селективность колонки определяется количеством записей в таблице с одинаковыми значениями. Когда записей с одинаковым значением мало – селективность высокая. Такие колонки необходимо использовать первыми в составных индексах.

В реляционных базах данных для индексов используется двоичное дерево.

Двоичное дерево строится по определенным правилам:

  • У каждого узла не более двух детей.
  • Любое значение меньше значения узла становится левым ребенком или ребенком левого ребенка.
  • Любое значение больше или равное значению узла становится правым ребенком или ребенком правого ребенка.
Авторизуйтесь, что бы оставить комментарий!