Встречается на собеседованиях • сегодня
Как оптимизировать таблицу с нагрузкой сто тысяч записей в день для ускорения недельных выборок\
Для оптимизации таблицы с высокой нагрузкой:
-
Индексы – добавь составные индексы на поля, используемые в WHERE, JOIN, ORDER BY. Например:
sqlCREATE INDEX idx_date_category ON records(created_date, category); -
Партиционирование – разбей таблицу по дате (RANGE или LIST):
sqlPARTITION BY RANGE (YEAR(created_date)) (...)
-
Денормализация – если запросы сложные, добавь вычисляемые поля (суммы, счетчики).
-
Материализованные представления – предрассчитай агрегаты за неделю:
sqlCREATE MATERIALIZED VIEW weekly_stats AS SELECT WEEK(created_date), COUNT(*) FROM records GROUP BY 1; -
TTL (Time-To-Live) – архивируй старые данные (>3 месяцев) в отдельную таблицу.
-
Кэширование – Redis/Memcached для частых запросов.
Для InnoDB настрой innodb_buffer_pool_size (70-80% RAM). Мониторь медленные запросы через slow_query_log.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы