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

Какие поля нужно индексировать

Индексировать стоит поля, которые часто используются в условиях WHERE, JOIN, ORDER BY или GROUP BY. Основные критерии:

  1. Высокая селективность - поля с уникальными/почти уникальными значениями (ID, email)
  2. Частые запросы - поля, по которым часто ищут данные
  3. Связи между таблицами - внешние ключи (FOREIGN KEY)
  4. Сортировки и группировки - поля в ORDER BY/GROUP BY

Пример:

sql
-- Хорошие кандидаты для индекса
CREATE INDEX idx_user_email ON users(email);
CREATE INDEX idx_order_user_id ON orders(user_id);
CREATE INDEX idx_product_category ON products(category);

Не стоит индексировать:

  • Поля с малым количеством уникальных значений (пол, статус)
  • Часто обновляемые поля (индексы замедляют INSERT/UPDATE)
  • Большие текстовые поля (лучше использовать полнотекстовый поиск)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

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