15 промтов ChatGPT, чтобы ваши PostgreSQL-запросы летали быстрее, чем мысль аналитика

Вы когда-нибудь часами смотрели на медленный SQL-запрос, который тормозит дашборд, и не понимали, с чего начать? Или пытались разобраться в чужом коде с пятью JOIN и оконными функциями? Знакомо. Хорошая новость: современные LLM, такие как ChatGPT, могут стать вашим персональным наставником по SQL, если правильно составить промт. В этой подборке — 15 проверенных промтов, которые помогут вам быстрее писать, отлаживать и оптимизировать запросы, от разбора плана выполнения до рефакторинга сложных конструкций.

Промт 1: Разбор плана выполнения

Для чего: Понять, почему запрос медленный, и что именно PostgreSQL делает под капотом.

Промт:

Я работаю с PostgreSQL 15. Вот результат EXPLAIN ANALYZE моего запроса:
[вставьте сюда вывод]

Объясни, что здесь происходит, простыми словами. Укажи, где узкие места, и предложи конкретные индексы или изменения в запросе, которые могут ускорить выполнение.

Пример: Допустим, вы видите Seq Scan on orders с фильтром. ChatGPT объяснит, что это полное сканирование таблицы, и предложит добавить индекс на колонку customer_id.

Промт 2: Оптимизация JOIN

Для чего: Переписать медленный запрос с несколькими JOIN.

Промт:

Вот мой запрос, который работает слишком долго:
[вставьте SQL]

Таблицы: orders (100k строк), customers (50k), products (10k). Проанализируй план выполнения и предложи оптимизированную версию. Объясни, какие индексы создать и почему.

Пример: ChatGPT может заметить, что вы джойните по customer_id, но индекс на этой колонке отсутствует. Он предложит CREATE INDEX idx_orders_customer_id ON orders(customer_id);.

Промт 3: Оконные функции без боли

Для чего: Написать сложный запрос с ROW_NUMBER, LAG, LEAD и т.д.

Промт:

Мне нужно для каждого клиента найти его второй по дате заказ. Таблица orders: id, customer_id, order_date, amount. Напиши запрос с оконной функцией ROW_NUMBER(). Объясни, как это работает.

Пример: ChatGPT сгенерирует:

WITH ranked AS (
  SELECT *, ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_date) AS rn
  FROM orders
)
SELECT * FROM ranked WHERE rn = 2;

Промт 4: Рефакторинг сложного запроса

Для чего: Разбить монолитный запрос на понятные части.

Промт:

У меня есть ужасный запрос с 5 подзапросами и 3 CTE. Перепиши его, используя CTE, чтобы было читаемо. Вот код:
[вставьте SQL]

Пример: ChatGPT может выделить логические блоки в отдельные CTE, добавить комментарии и упростить условия.

Промт 5: Поиск и исправление ошибок

Для чего: Быстро найти синтаксическую ошибку или логическую проблему.

Промт:

Вот мой запрос, он выдает ошибку "column \"total\" does not exist":
[вставьте SQL]

Найди ошибку и объясни, как её исправить.

Пример: ChatGPT объяснит, что вы использовали алиас total в WHERE, а нужно в HAVING, и покажет правильный вариант.

Промт 6: Генерация тестовых данных

Для чего: Создать правдоподобные данные для проверки запроса.

Промт:

Сгенерируй 100 строк тестовых данных для таблицы employees (id, name, department, salary). Используй генератор series в PostgreSQL.

Пример: ChatGPT вернет запрос с generate_series(1,100) и случайными именами из списка.

Промт 7: Объяснение чужого кода

Для чего: Понять, что делает сложный SQL, написанный другим разработчиком.

Промт:

Объясни, что делает этот запрос, шаг за шагом, для новичка:
[вставьте SQL]

Пример: ChatGPT разложит запрос на части, объяснит каждую CTE и что возвращает финальный SELECT.

Промт 8: Сравнение производительности вариантов

Для чего: Выбрать оптимальный вариант из нескольких.

Промт:

У меня есть два запроса, которые возвращают одинаковый результат. Сравни их производительность и скажи, какой лучше, учитывая, что таблица большая.
Запрос A: ...
Запрос B: ...

Пример: ChatGPT проанализирует планы и скажет, что запрос с EXISTS быстрее, чем с IN, на больших объёмах.

Промт 9: Написание запроса по описанию

Для чего: Превратить бизнес-задачу в SQL.

Промт:

Напиши SQL-запрос для PostgreSQL: найти топ-10 клиентов по сумме заказов за последний месяц, включая тех, у кого нет заказов (вывести их с нулевой суммой).

Пример: ChatGPT создаст запрос с LEFT JOIN и COALESCE.

Промт 10: Исправление медленного запроса с подзапросами

Для чего: Ускорить запрос, который использует коррелированные подзапросы.

Промт:

Мой запрос с коррелированным подзапросом работает очень медленно. Перепиши его с использованием JOIN или оконной функции.
[вставьте SQL]

Пример: ChatGPT может заменить подзапрос на LEFT JOIN LATERAL или оконную функцию.

Промт 11: Форматирование SQL

Для чего: Привести запрос к читаемому виду.

Промт:

Отформатируй этот SQL-запрос в стандартном стиле: ключевые слова в верхнем регистре, отступы для подзапросов.
[вставьте SQL]

Пример: ChatGPT вернет аккуратный запрос с выравниванием.

Промт 12: Устранение дубликатов

Для чего: Написать запрос для удаления дубликатов из таблицы.

Промт:

В таблице users есть дубликаты по email. Напиши запрос, который удалит дубликаты, оставив запись с наименьшим id. Используй оконную функцию.

Пример: ChatGPT предложит:

DELETE FROM users
WHERE id IN (
  SELECT id FROM (
    SELECT id, ROW_NUMBER() OVER (PARTITION BY email ORDER BY id) AS rn
    FROM users
  ) t WHERE rn > 1
);

Промт 13: Обучение синтаксису

Для чего: Быстро вспомнить, как использовать конкретную функцию.

Промт:

Как в PostgreSQL использовать функцию LAG()? Приведи пример с PARTITION BY и ORDER BY, объясни, что такое смещение и значение по умолчанию.

Пример: ChatGPT даст синтаксис и пример с продажами по месяцам.

Промт 14: Генерация документации

Для чего: Создать комментарии к запросу для коллег.

Промт:

Добавь комментарии к каждому блоку этого SQL, объясняя, зачем он нужен:
[вставьте SQL]

Пример: ChatGPT вставит -- комментарии перед CTE и ключевыми условиями.

Промт 15: Проверка логики запроса на тестовых данных

Для чего: Убедиться, что запрос возвращает ожидаемый результат.

Промт:

Вот запрос и небольшой набор данных. Выполни его вручную и покажи промежуточные результаты для каждого шага.
[вставьте SQL и данные]

Пример: ChatGPT смоделирует выполнение и покажет, как меняются данные после каждой CTE.

Заключение

Эти промты не заменят практики, но значительно ускорят вашу работу с SQL. Сохраните статью в закладки и используйте как шпаргалку. Экспериментируйте, комбинируйте промты — и ChatGPT станет вашим надёжным помощником в оптимизации запросов. А если у вас есть свои проверенные промты — поделитесь в комментариях!

← Все статьи

Комментарии

Читайте также

Тыжпрограммист, у тебя же уже есть свой личный ИИ-агент? Реальный опыт OpenClaw

22 июля 2026

Практическая криптография: Освойте AES, ChaCha20, TLS 1.3 и постквантовую безопасность с ИИ-тьютором на asibiont.com

20 июля 2026

Как AI-агенты для поддержки спасают бизнес: обзор курса «AI-автоматизация бизнеса» на asibiont.com

9 сентября 2026

Освойте валютное право с помощью обучения на основе ИИ: История успеха от Asibiont.com

8 июля 2026

Где два миллиарда, Лебовски? Что известно о стартапе Thinking Machines Lab

16 июля 2026

Django против FastAPI в 2026 году: почему освоение обоих с ИИ на asibiont.com — ваш самый умный карьерный шаг

13 июля 2026

ROS 2 + AI: подключаем робота к ASI Biont — управление через Telegram без сложного кода

1 августа 2026

Как я превратил промты в инженеров: автоматизация AWS и снижение затрат на 40%

27 августа 2026

Вышла китайская Seedance 2.5: скачок по сравнению с версией 2.0 оказался серьёзнее, чем ожидалось

31 июля 2026