Встречается на собеседованиях • сегодня
Почему не использовал кластерный индекс
Кластерный индекс (primary key) автоматически создаётся в большинстве СУБД при объявлении PRIMARY KEY. Вопрос скорее о его отсутствии или сознательном отказе.
Основные причины не использовать кластерный индекс:
- Частые вставки/обновления - перестроение индекса дорого
- Большой размер ключа - ведёт к увеличению всех вторичных индексов
- Неоптимальные запросы - если доступ чаще идёт по другим полям
Пример, где UUID первичный ключ может быть хуже автоинкремента:
sql
-- Плохо для кластеризации из-за случайности UUID
CREATE TABLE orders (
id UUID PRIMARY KEY, -- Фрагментация страниц
user_id INT,
INDEX (user_id)
);Лучше использовать суррогатный ключ и отдельный индекс:
sql
CREATE TABLE orders (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
uuid UUID UNIQUE,
INDEX (user_id)
);
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы