Встречается на 1% собеседований по Python

Как оценить скорость запроса к БД

Для оценки скорости запроса к БД в Python можно использовать несколько подходов:

  1. Встроенные инструменты СУБД
    Например, в PostgreSQL EXPLAIN ANALYZE покажет план выполнения и время:

    sql
    EXPLAIN ANALYZE SELECT * FROM users WHERE age > 30;
  2. Замер времени в коде
    Используйте time.time() или timeit:

    python
    import time
    

start = time.time()
cursor.execute("SELECT * FROM large_table")
end = time.time()
print(f"Query took: {end - start:.4f} seconds")

text

3. **ORM-специфичные методы**  
Например, в Django:
```python
from django.db import connection

users = User.objects.filter(age__gt=30)
print(connection.queries)  # Покажет все запросы и их время
  1. Профилирование
    Инструменты вроде sqlalchemy.echo=True или django-debug-toolbar.

Ключевые метрики:

  • Время выполнения (execution time)
  • Количество строк (rows fetched)
  • Использование индексов (check with EXPLAIN)

Оптимизируйте медленные запросы через индексы, денормализацию или кэширование.

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

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

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