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

Как оптимизировать сложные запрос в БД

Для оптимизации тяжелых SQL-запросов в Python:

  1. Индексы - убедитесь, что запрос использует индексы по условиям WHERE и JOIN
python
# Создание индекса
cursor.execute("CREATE INDEX idx_name ON users(name)")
  1. Лимиты и пагинация - не загружайте все данные сразу
python
# Пагинация
cursor.execute("SELECT * FROM large_table LIMIT 100 OFFSET 200")
  1. Оптимизация SELECT - выбирайте только нужные поля
python
# Вместо SELECT * 
cursor.execute("SELECT id, name FROM users WHERE active = 1")
  1. Кэширование - используйте Redis/Memcached для часто запрашиваемых данных

  2. EXPLAIN - анализируйте план выполнения запроса

python
cursor.execute("EXPLAIN ANALYZE SELECT * FROM users")
print(cursor.fetchall())
  1. Батчинг - для массовых операций используйте batch-вставки
python
data = [(1, 'John'), (2, 'Alice')]
cursor.executemany("INSERT INTO users VALUES (?, ?)", data)
  1. ORM оптимизация - для Django/SQLAlchemy используйте:
  • select_related/prefetch_related
  • only/defer
  • bulk_create
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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