SQL-запросы и PostgreSQL: как ИИ превращает рутину в магию — 15 промтов для разработчика и аналитика

Сколько времени вы тратите на написание сложных SQL-запросов? А на разбор плана выполнения, который выводит из себя даже опытных разработчиков? Или на поиск индекса, который ускорит запрос в сто раз? Если вы похожи на меня, то часы, проведённые за такими задачами, — это часы, украденные у действительно важной работы. Но в 2026 году у нас есть секретное оружие: нейросети. Я собрал 15 промтов, которые проверены в бою и реально экономят время. От генерации запросов до автоматической оптимизации индексов — здесь вы найдёте готовые решения для повседневных задач. Поехали!

Базовый уровень: генерация и объяснение запросов

1. Генерация SQL-запроса по описанию

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

Промт:

Ты — эксперт по SQL и PostgreSQL. Напиши запрос для [описание задачи]. Учитывай:
- Используй современный синтаксис (CTE, оконные функции, если уместно).
- Добавь комментарии к каждой части запроса.
- Объясни, как запрос работает, и какие индексы помогут его ускорить.

Пример результата:

Для задачи «вывести топ-5 клиентов по сумме заказов за последний месяц» нейросеть вернёт:

WITH recent_orders AS (
  SELECT customer_id, SUM(amount) AS total
  FROM orders
  WHERE order_date >= NOW() - INTERVAL '1 month'
  GROUP BY customer_id
)
SELECT c.name, r.total
FROM recent_orders r
JOIN customers c ON c.id = r.customer_id
ORDER BY r.total DESC
LIMIT 5;

И пояснит: используйте индекс на orders(order_date) и orders(customer_id). Это ускорит фильтрацию и группировку.

2. Перевод с MySQL на PostgreSQL

Задача: Адаптировать запрос, написанный для MySQL, под синтаксис PostgreSQL.

Промт:

Перепиши следующий MySQL-запрос для PostgreSQL, учитывая различия в синтаксисе: [вставьте запрос]. Объясни каждое изменение.

Пример:

MySQL: SELECT * FROM users LIMIT 10 OFFSET 20;
PostgreSQL: SELECT * FROM users LIMIT 10 OFFSET 20; (синтаксис совпадает, но нейросеть укажет на нюансы с LIMIT ALL и подскажет использовать FETCH FIRST для стандарта).

3. Объяснение сложного запроса

Задача: Понять, что делает чужой (или ваш собственный) запутанный SQL.

Промт:

Объясни, что делает этот SQL-запрос, шаг за шагом, простыми словами. Укажи, какие данные он возвращает, и есть ли потенциальные проблемы с производительностью: [вставьте запрос].

Пример:

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

4. Написание запроса с оконными функциями

Задача: Выполнить ранжирование, скользящие средние или сравнение с предыдущими строками.

Промт:

Используя оконные функции PostgreSQL, напиши запрос, который [описание задачи, например, выведет для каждого сотрудника его зарплату и среднюю зарплату по отделу].

Пример:

SELECT name, department, salary,
       AVG(salary) OVER (PARTITION BY department) AS dept_avg
FROM employees;

Продвинутый уровень: оптимизация и индексы

5. Анализ плана выполнения

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

Промт:

Вот план выполнения запроса (EXPLAIN ANALYZE). Проанализируй его, укажи проблемные места (Seq Scan, высокий cost, большой buffers) и предложи конкретные меры для ускорения: [вставьте план].

Пример:

Нейросеть увидит Seq Scan на таблице с миллионом строк и порекомендует создать индекс, переписать JOIN или изменить настройки work_mem.

6. Генерация индексов для ускорения запросов

Задача: Автоматически предложить индексы для заданного набора запросов.

Промт:

Для следующих запросов предложи оптимальные индексы в PostgreSQL. Учитывай селективность, частоту использования и стоимость поддержки. Для каждого индекса объясни, почему он нужен: [перечислите запросы].

Пример:

Для запроса с фильтром по status и сортировкой по created_at нейросеть предложит составной индекс (status, created_at). Это подтверждается документацией PostgreSQL.

7. Поиск и устранение дедлоков

Задача: Разобраться с взаимоблокировками и предложить решение.

Промт:

Вот лог дедлока из PostgreSQL. Объясни, что произошло, и предложи способы избежать этого в будущем (например, порядок блокировок, уровень изоляции, retry-логика): [вставьте лог].

8. Настройка конфигурации PostgreSQL

Задача: Подобрать параметры конфигурации под конкретную нагрузку.

Промт:

У меня PostgreSQL 16, сервер с [характеристики]. Моя нагрузка: [описание]. Какие параметры в postgresql.conf стоит изменить и почему? Дай конкретные значения.

Экспертный уровень: сложные сценарии

9. Генерация хранимых процедур и триггеров

Задача: Создать сложную бизнес-логику на стороне БД.

Промт:

Напиши хранимую процедуру на PL/pgSQL, которая [описание задачи]. Включи обработку ошибок и транзакции.

Пример:

Процедура для массового обновления с проверкой прав пользователя.

10. Работа с JSONB: продвинутые запросы

Задача: Извлечь данные из JSONB-полей, скомбинировать с реляционными.

Промт:

У меня таблица с JSONB-полем. Напиши запрос, который [описание задачи, например, выведет все элементы массива, удовлетворяющие условию]. Используй функции jsonb_array_elements, jsonb_path_query и т.д.

11. Оптимизация полнотекстового поиска

Задача: Настроить полнотекстовый поиск с учётом русского языка.

Промт:

Настрой полнотекстовый поиск в PostgreSQL для русского языка. Создай tsvector, tsquery, GIN-индекс. Приведи пример запроса с учётом морфологии.

12. Анализ и оптимизация запросов с помощью pg_stat_statements

Задача: Использовать статистику для поиска самых ресурсоёмких запросов.

Промт:

Вот вывод pg_stat_statements. Определи топ-5 самых медленных запросов и предложи способы их оптимизации: [вставьте вывод].

13. Сравнение производительности: CTE vs подзапросы

Задача: Определить, что быстрее в конкретном случае.

Промт:

Сравни производительность следующих двух запросов в PostgreSQL. Объясни, как оптимизатор обрабатывает CTE (материализация vs инлайн) и какой вариант лучше для моего случая: [запросы].

14. Партиционирование таблиц: проектирование и запросы

Задача: Спроектировать партиционирование для большой таблицы.

Промт:

У меня таблица с [описание данных] и она быстро растёт. Предложи стратегию партиционирования (по диапазону, списку, хешу) и приведи пример создания партиций и запросов, которые используют партиционирование.

15. Имитация нагрузочного теста и поиск бутылочных горлышек

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

Промт:

Сгенерируй SQL для вставки 1 миллиона тестовых строк в таблицу с [полями]. Предложи набор запросов, которые имитируют реальную нагрузку, и укажи, какие метрики (pg_stat_activity, pg_locks) нужно мониторить.

Как я использую эти промты в реальной работе

Недавно мне нужно было оптимизировать отчёт, который выполнялся 15 секунд. Я скормил нейросети план выполнения, и она сразу указала на Seq Scan по таблице с миллионами строк и посоветовала создать индекс. Через 10 минут запрос стал выполняться за 0.3 секунды. Такие случаи не единичны.

Заключение

Нейросети не заменят вас, но они снимут рутину и ускорят процесс. Начните с базовых промтов, постепенно переходя к сложным. Помните: всегда проверяйте сгенерированный код — ИИ может ошибаться, особенно в специфических настройках. Если вы хотите систематизировать знания и научиться применять ИИ в работе с базами данных, приходите на наш курс. А пока — пробуйте эти промты, и вы почувствуете разницу. Удачи в запросах!

← Все статьи

Комментарии

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

15 промтов для Excel и Google Sheets, которые превратят ваш хаос в чистую аналитику

26 августа 2026

От прототипа до продакшена за вечер: как собрать лендинг на промтах и не сойти с ума

25 августа 2026

SQL и NoSQL под контролем: 10 промтов, которые заменят DBA, если вы разработчик

25 августа 2026

PostgreSQL под капотом: как превратить LLM в персонального DBA и не спалить прод

25 августа 2026

15 промтов для SQL: как выжать максимум из PostgreSQL, MySQL и MongoDB в 2026 году

25 августа 2026

Мультимодальный AI в 2026: 10 промптов, которые объединяют текст, изображения и видео

25 августа 2026

30 дней до идеального собеседования: 12 промтов, которые превратят ChatGPT в вашего личного репетитора английского

25 августа 2026

SQL-промты, которые сэкономят часы: от сложных JOIN до тонкой оптимизации в PostgreSQL и MySQL

25 августа 2026

От хаоса к архитектуре: 12 AI-промтов, которые заменят системному аналитику половину рутины

25 августа 2026