Встречается на собеседованиях • сегодня
Какие знаешь способы оптимизации чтения БД
-
Индексация – создание индексов на часто используемых полях для ускорения поиска.
python# Пример создания индекса в SQLAlchemy class User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), index=True) # Индекс на поле name -
Пагинация – разбивка данных на страницы для уменьшения нагрузки.
python# Пример пагинации в Flask-SQLAlchemy users = User.query.paginate(page=1, per_page=10)
-
Ленивая загрузка (Lazy Loading) – загрузка связанных данных только при обращении.
python# SQLAlchemy: lazy='select' (по умолчанию) class Post(db.Model): comments = db.relationship('Comment', lazy='select') -
Жадная загрузка (Eager Loading) – предварительная загрузка связанных данных для избежания N+1 проблемы.
python# SQLAlchemy: joinedload from sqlalchemy.orm import joinedload posts = Post.query.options(joinedload(Post.comments)).all() -
Кэширование – сохранение результатов запросов (Redis, Memcached).
-
Оптимизация запросов – использование
selectвместоselect *, избегание подзапросов. -
Репликация и шардинг – распределение нагрузки между серверами.
-
Использование ORM-оптимизаций – например,
bulk_insert,updateвместо поштучных операций. -
Анализ запросов – инструменты типа
EXPLAINв PostgreSQL для выявления узких мест.

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