Недостаток индексов обычно проявляется в замедлении выполнения запросов, особенно при выборках с условиями по полям, которые не индексированы. Это можно заметить по долгому времени отклика, анализу плана выполнения запросов (EXPLAIN), где видно полное сканирование таблицы (full table scan).
Как понимал, что не хватает индексов? Почему использовал B-tree индекс?
Недостаток индексов обычно проявляется в замедлении выполнения запросов, особенно при выборках с условиями по полям, которые не индексированы.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Недостаток индексов обычно проявляется в замедлении выполнения запросов, особенно при выборках с условиями по полям, которые не индексированы. Это можно заметить по долгому времени отклика, анализу плана выполнения запросов (EXPLAIN), где видно полное сканирование таблицы (full table scan).
B-tree индекс используется, потому что он эффективен для быстрого поиска по диапазонам, точному совпадению и сортировке. Он поддерживает сбалансированную структуру, что обеспечивает логарифмическое время доступа к данным.
Пример: если у нас есть таблица пользователей с полем "username", и мы часто делаем запросы типа
SELECT * FROM users WHERE username = 'ivan';
то создание B-tree индекса по полю username ускорит поиск, так как индекс позволит быстро найти нужную запись без полного сканирования таблицы.
CREATE INDEX idx_username ON users(username);
Таким образом, B-tree индекс — универсальный и эффективный способ ускорить поиск и сортировку по ключевым полям.