Встречается на собеседованиях • сегодня

Что такое индексы

Индекс (index) — объект базы данных, создаваемый с целью повышения производительности выборки данных.

Наборы данных могут иметь большое количество записей, которые хранятся в произвольном порядке, и их поиск по заданному критерию путём последовательного просмотра набора данных запись за записью может занимать много времени. Индекс формируется из значений одного или нескольких полей и указателей на соответствующие записи набора данных, - таким образом, достигается значительный прирост скорости выборки из этих данных.

Преимущества

  • ускорение поиска и сортировки по определенному полю или набору полей.
  • обеспечение уникальности данных.

Недостатки

  • требование дополнительного места на диске и в оперативной памяти и чем больше/длиннее ключ, тем больше размер индекса.
  • замедление операций вставки, обновления и удаления записей, поскольку при этом приходится обновлять сами индексы.

Индексы предпочтительней для:

  • Поля-счетчика, чтобы в том числе избежать и повторения значений в этом поле;
  • Поля, по которому проводится сортировка данных;
  • Полей, по которым часто проводится соединение наборов данных. Поскольку в этом случае данные располагаются в порядке возрастания индекса и соединение происходит значительно быстрее;
  • Поля, которое объявлено первичным ключом (primary key);
  • Поля, в котором данные выбираются из некоторого диапазона. В этом случае как только будет найдена первая запись с нужным значением, все последующие значения будут расположены рядом.

Использование индексов нецелесообразно для:

  • Полей, которые редко используются в запросах;
  • Полей, которые содержат всего два или три значения, например: мужскойженский пол или значения «да»«нет».

Oct. 21, 2023, Источник

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы