🔴 Сложный · 3 очк. SQL
Составной индекс (a, b, c) - какой запрос НЕ будет его использовать?
A WHERE a = 1 AND b = 2
B WHERE a = 1
C WHERE b = 2 AND c = 3
D WHERE a = 1 AND b = 2 AND c = 3
Объяснение вопроса

Составной индекс используется по leftmost prefix: запрос должен использовать столбцы с начала. Будут использоваться запросы по (a), (a, b), (a, b, c). Запрос только по (b) или (b, c) без (a) индекс использовать не будет - индекс упорядочен сначала по a, затем по b, затем по c.

-- индекс (a, b, c)
WHERE a = 1              -- да
WHERE a = 1 AND b = 2     -- да
WHERE a = 1 AND c = 3     -- частично (только a)
WHERE b = 2 AND c = 3     -- нет
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.