Программирование

Разбери EXPLAIN и оптимизируй SQL-запрос

Помогает понять план выполнения SQL-запроса и предложить проверяемые способы оптимизации.

Автор: PromptingGo Средний Язык: ru Просмотры: 1 Копирования: 0 Есть настройка
Средняя оценка
/ 5
Голосов: 0
Войти, чтобы оценить

1 Готовый промпт

Выступи в роли специалиста по PostgreSQL и помоги разобрать производительность SQL-запроса.

SQL: SELECT * FROM Orders WHERE UserId = 42 ORDER BY CreatedAtUtc DESC LIMIT 50;.
EXPLAIN: Seq Scan on Orders ... Sort ... Limit ....
Структура: Orders(Id PK, UserId, CreatedAtUtc, Status). Есть индекс только по Id..
Проблема: Запрос выполняется около 1,5 секунды.

Следуй структуре:

1. Объясни простыми словами, как выполняется запрос.
2. Найди самые дорогие или подозрительные узлы плана.
3. Отдели выводы, подтверждённые планом, от гипотез.
4. Предложи минимальные изменения запроса или индексов.
5. Для каждого изменения укажи, как проверить эффект новым EXPLAIN ANALYZE.
6. Предупреди о цене дополнительных индексов для записи и хранения.

Не придумывай факты, данные, опыт или ограничения, которых нет во вводных. Если информации недостаточно, укажи, что нужно уточнить.
Как использовать
Заполните поля конструктора максимально конкретно. Чем точнее исходные данные, тем полезнее будет результат.

2 Настроить под себя

Заполните понятные поля ниже. Сервис автоматически соберёт новую версию промпта под вашу задачу.

Поля со звёздочкой обязательны. Необязательные части исчезнут из результата, если оставить их пустыми.

3 Результат настройки

Заполните конструктор выше, и здесь появится готовый промпт.

4 Примеры результата

Текстовый пример

Основное время уходит на последовательное чтение; предлагается проверить составной индекс под фильтр и сортировку и сравнить новый план.

5 Комментарии

0
Комментариев пока нет. Будьте первым, кто обсудит этот промпт.