Sobes.tech
Middle
36

La purposea indexurilor? Explică cu exemplul unui index compus (userId, updatedAt): trei interogări — după userId, după userId+updatedAt, doar după updatedAt. Unde va funcționa indexul?

Companiile au fost întrebate
СБЕРСБЕР

Răspuns de la AI

sobes.tech AI

Индексы нужны для ускорения поиска данных в базе, уменьшая количество просматриваемых строк.

Рассмотрим составной индекс по (userId, updatedAt):

  • Запрос по userId — индекс сработает, так как userId является первой колонкой в индексе.
  • Запрос по userId + updatedAt — индекс сработает эффективно, так как совпадает с порядком колонок в индексе.
  • Запрос только по updatedAt — индекс не сработает, потому что в составном индексе сначала идёт userId, а updatedAt без userId не может быть использован для поиска.

Итог: составной индекс полезен для запросов, начинающихся с первой колонки индекса, но не для запросов, использующих только последующие колонки.