🗄️ SQL и базы данных  ·  20 вопросов  ·  ~42 мин  ·  ⏱ Таймер 42:00  ·  Сложный  ·  👥 1 прошёл

Индексы

Индекс оценивается по конкретной нагрузке, а не по принципу «чем больше, тем быстрее». В тесте нужно выбрать B-tree для сравнения и порядка, понять левую часть составного индекса, отличить ключевые столбцы от INCLUDE, увидеть пользу частичного и индексированного выражения, а также учесть цену вставок, размер и низкую избирательность.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выбери один ответ из четырёх. В тесте 20 вопросов и 42 минут. После завершения откроются общий процент, четыре тематические шкалы, правильные ответы и разбор каждого задания.
Вопрос 1 из 20
Для какого условия B-tree особенно естественен?
Вопрос 2 из 20
Может ли B-tree помогать диапазону created_at?
SQL
SELECT * FROM events WHERE created_at >= TIMESTAMP '2026-07-01';
Вопрос 3 из 20
Почему индекс не гарантирует, что планировщик его выберет?
SQL
EXPLAIN SELECT * FROM users WHERE active = true;
Вопрос 4 из 20
Что делает индекс на lower(email)?
SQL
CREATE INDEX users_email_lower_idx ON users (lower(email));
Вопрос 5 из 20
Когда возможен index-only scan в общих чертах?
Вопрос 6 из 20
Какой запрос лучше соответствует индексу (tenant_id, created_at)?
Вопрос 7 из 20
Почему запрос только по created_at может использовать такой индекс хуже?
Вопрос 8 из 20
Что означает INCLUDE (amount)?
SQL
CREATE INDEX orders_idx ON orders (customer_id, created_at) INCLUDE (amount);
Вопрос 9 из 20
Для WHERE a=1 ORDER BY b какой индекс вероятнее всего полезен?
Вопрос 10 из 20
Что происходит с полезностью последующих ключей после диапазона по первому столбцу?
Вопрос 11 из 20
Когда частичный индекс особенно уместен?
SQL
CREATE INDEX tasks_open_idx ON tasks (created_at) WHERE status='open';
Вопрос 12 из 20
Какой запрос может напрямую использовать условие этого частичного индекса?
SQL
CREATE INDEX tasks_open_idx
ON tasks (created_at)
WHERE status = 'open';
Вопрос 13 из 20
Почему индекс на boolean active часто мало полезен, если true у 95% строк?
Вопрос 14 из 20
Какой индекс соответствует WHERE lower(email)=lower($1)?
Вопрос 15 из 20
Почему ведущий шаблон LIKE '%term' обычно не использует обычный B-tree как префиксный поиск?
Вопрос 16 из 20
Что происходит при INSERT в таблицу с пятью индексами?
Вопрос 17 из 20
Когда UPDATE неиндексированного столбца всё равно может затрагивать индексы косвенно в PostgreSQL?
Вопрос 18 из 20
Почему два индекса (a) и (a,b) могут частично дублировать друг друга?
Вопрос 19 из 20
Почему CREATE INDEX на большой рабочей таблице требует плана выполнения работ?
Вопрос 20 из 20
Как понять, что индекс действительно нужен?

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу