15 промтов для работы с базами данных: PostgreSQL, MongoDB, Redis

15 промтов для работы с базами данных: PostgreSQL, MongoDB, Redis

Введение

Базы данных — это сердце любого современного приложения. Но даже опытные разработчики тратят часы на написание сложных запросов, оптимизацию индексов и проектирование миграций. Что если я скажу, что с помощью правильно составленных промтов для AI-ассистентов вы можете сократить это время в 3–5 раз? В этой подборке — 15 конкретных, готовых к использованию промтов для PostgreSQL, MongoDB и Redis. Каждый промт сопровождается пояснением, примером и кодом. Вы можете копировать их прямо в чат с AI (например, Claude, GPT-4 или Copilot) и получать рабочие решения. Поехали!

Промты для PostgreSQL

1. Написание JOIN-запроса с фильтрацией

Для чего: Быстро сформировать сложный запрос с объединением нескольких таблиц, фильтрацией по дате и сортировкой.

Промт: «Напиши SQL-запрос для PostgreSQL, который объединяет таблицы orders (id, user_id, created_at, total) и users (id, name, email). Выбери имя пользователя, email, дату заказа и сумму. Отфильтруй только заказы за последние 30 дней, где total > 100. Отсортируй по дате по убыванию. Используй EXPLAIN ANALYZE для проверки плана выполнения.»

Пример использования: «Скопируй промт в AI, замени названия таблиц и колонок на свои, получи готовый запрос с планом выполнения. Например, для e-commerce — выгрузка дорогих заказов за месяц.»

2. Создание оптимального индекса

Для чего: AI-ассистент предложит индекс на основе типичных запросов к таблице, с учётом селективности.

Промт: «У меня есть таблица PostgreSQL: users (id, email, created_at, status, last_login). Я часто выполняю запросы: WHERE status = 'active' AND created_at > '2025-01-01' и ORDER BY last_login DESC. Предложи оптимальный составной индекс. Объясни, почему он эффективен, и напиши код создания.»

Пример использования: «AI проанализирует, что колонка status имеет низкую селективность (мало уникальных значений), и порекомендует индекс (created_at, last_login) с включением status. Вы получите готовый CREATE INDEX.»

3. Оптимизация медленного запроса

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

Промт: «Вот EXPLAIN ANALYZE моего запроса: [вставь вывод]. Запрос выполняется за 8 секунд на таблице с 2 млн строк. Найди узкое место, предложи конкретные улучшения: добавление индекса, переписывание запроса, изменение конфигурации (work_mem, effective_cache_size). Напиши оптимизированную версию.»

Пример использования: «После анализа AI может сказать: 'Seq Scan на users — 80% времени. Добавьте индекс на user_id в orders.' И предложит новый запрос.»

4. Проектирование схемы с миграциями

Для чего: Создать таблицы и миграции для типового приложения (блог, интернет-магазин).

Промт: «Спроектируй схему PostgreSQL для блога с таблицами: users, posts, comments, categories. Напиши миграции (создание таблиц, внешние ключи, индексы). Учти: у поста может быть несколько категорий (многие ко многим). Используй UUID как первичный ключ.»

Пример использования: «AI сгенерирует 5 файлов миграций с CREATE TABLE, ALTER TABLE для связей, индексами на created_at и author_id. Вы получите готовую структуру.»

5. Анализ производительности с pg_stat_statements

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

Промт: «Напиши запрос к pg_stat_statements, который показывает топ-10 запросов по общему времени выполнения. Выведи: query, calls, total_time, mean_time, rows. Исключи запросы к системным таблицам. Отсортируй по total_time DESC.»

Пример использования: «Выполните запрос в psql — получите список 'тяжёлых' запросов. AI также может предложить, какие индексы добавить для каждого.»

6. Исправление блокировок (deadlocks)

Для чего: Найти и устранить взаимоблокировки в высоконагруженной системе.

Промт: «У меня возникают deadlocks в PostgreSQL при параллельных UPDATE на таблицу accounts. Вот лог ошибки: [вставь]. Объясни причину, предложи стратегию исправления: изменение порядка обновлений, использование NOWAIT, оптимистичная блокировка. Напиши пример кода с правильным порядком.»

Пример использования: «AI проанализирует лог, укажет на конфликтующие транзакции и предложит добавить ORDER BY id в UPDATE, чтобы гарантировать одинаковый порядок.»

Промты для MongoDB

7. Агрегационный пайплайн с группировкой

Для чего: Сформировать сложный пайплайн для аналитики (например, продажи по месяцам).

Промт: «Напиши агрегационный пайплайн MongoDB для коллекции orders (userId, items, total, createdAt). Сгруппируй заказы по месяцам (используя $dateToString), посчитай: количество заказов, сумму total, средний чек. Отфильтруй только заказы за 2025 год. Отсортируй по месяцу.»

Пример использования: «AI вернет пайплайн с $match, $group, $sort. Вы скопируете его в MongoDB Compass или код Node.js.»

8. Создание составного индекса

Для чего: Оптимизировать частые запросы с фильтрацией и сортировкой.

Промт: «Коллекция users содержит 10 млн документов. Частые запросы: { city: 'Moscow', age: { $gte: 25 } } с сортировкой { registeredAt: -1 }. Предложи оптимальный индекс. Объясни, как работает ESR (Equality, Sort, Range) правило. Напиши код создания в mongosh.»

Пример использования: «AI предложит индекс { city: 1, registeredAt: -1, age: 1 } и объяснит, почему equality-поля ставятся первыми.»

9. Оптимизация find() с проекцией

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

Промт: «У меня коллекция posts с полями: title, body, author, tags, views, createdAt. Нужно найти 20 последних постов с тегом 'javascript', вернуть только title, author и createdAt. Напиши оптимальный запрос с проекцией и индексом. Объясни, почему проекция ускоряет запрос.»

Пример использования: «AI сгенерирует db.posts.find({ tags: 'javascript' }, { title: 1, author: 1, createdAt: 1 }).sort({ createdAt: -1 }).limit(20) и предложит индекс { tags: 1, createdAt: -1 }.»

10. Миграция данных с изменением схемы

Для чего: Обновить существующие документы при изменении структуры.

Промт: «В коллекции users поле 'name' содержит полное имя. Нужно разделить его на firstName и lastName. Напиши миграционный скрипт на JavaScript для mongosh: обнови все документы, добавь новые поля, удали старое. Обработай случаи, когда имя состоит из одного слова.»

Пример использования: «AI напишет цикл с db.users.find().forEach() и $set/$unset. Вы запустите скрипт в mongosh.»

11. Поиск дубликатов и их удаление

Для чего: Очистить коллекцию от дублирующихся записей.

Промт: «Напиши агрегацию для поиска дубликатов по полю email в коллекции users. Верни дублирующиеся email и количество повторений. Затем напиши скрипт для удаления дубликатов, оставив один документ с самым старым _id.»

Пример использования: «AI предложит пайплайн с $group и $match, а затем deleteMany с использованием агрегации.»

12. Анализ медленных запросов (profiler)

Для чего: Найти запросы, которые выполняются дольше 100 мс.

Промт: «Включи профайлер MongoDB для медленных запросов (>100 мс) на базе 'mydb'. Напиши запрос к system.profile, который покажет топ-5 запросов по длительности. Выведи: op, ns, millis, ts, query. Объясни, как интерпретировать результаты.»

Пример использования: «Выполните команды в mongosh, получите список медленных операций. AI поможет понять, какие индексы отсутствуют.»

Промты для Redis

13. Проектирование кэша для API

Для чего: Спроектировать структуру кэша для типового REST API.

Промт: «Спроектируй схему кэша в Redis для API интернет-магазина: кэширование списка товаров (с пагинацией), информации о товаре по id, корзины пользователя. Используй типы данных: строки, хеши, списки. Напиши примеры команд для установки, получения и инвалидации кэша с TTL.»

Пример использования: «AI предложит: SET для страниц (page:1:products), HSET для товаров (product:123), корзину как HASH с истечением 1 час. Вы получите готовые команды Redis.»

14. Реализация очереди задач

Для чего: Создать очередь для фоновых задач с помощью Redis.

Промт: «Реализуй очередь задач на Redis: используй списки (LPUSH/BRPOP). Напиши пример: продюсер добавляет задачи в очередь 'task_queue', консьюмер обрабатывает их с timeout 5 секунд. Добавь обработку ошибок и повторную постановку задачи.»

Пример использования: «AI сгенерирует код на Python с redis-py: producer.py и worker.py. Вы сможете запустить их локально.»

15. Анализ использования памяти и ключей

Для чего: Оптимизировать хранение данных и избежать переполнения памяти.

Промт: «Напиши команды для анализа памяти в Redis: покажи топ-10 ключей по размеру (с помощью MEMORY USAGE), количество ключей с TTL и без, распределение по типам данных. Предложи стратегию оптимизации, если память превышает 80% от maxmemory.»

Пример использования: «Выполните команды в redis-cli, получите отчёт. AI предложит удалить неиспользуемые ключи или сменить тип данных на более компактный.»

Заключение

Эти 15 промтов покрывают 80% повседневных задач при работе с PostgreSQL, MongoDB и Redis. Но помните: AI — это помощник, а не замена экспертизе. Всегда проверяйте сгенерированные запросы на тестовой базе перед запуском в production. Советую сохранить эту статью в закладки и возвращаться к ней при решении рутинных задач. А если вы хотите углубить знания — изучите официальную документацию PostgreSQL (postgresql.org/docs), MongoDB (mongodb.com/docs/manual) и Redis (redis.io/documentation). Удачной оптимизации!

← Все статьи

Комментарии

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

Мастер-класс по международному налоговому планированию в эпоху Pillar Two: почему структурированный курс с ИИ превосходит самостоятельное обучение

16 июля 2026

Bluesky и Trademarks ATProto: Как Vibe Coding меняет правила игры в децентрализованных сетях

16 июля 2026

Погодная станция + ASI Biont: интеграция метеостанции с AI-агентом для умного мониторинга и автоматизации

16 июля 2026

Как стать Chief AI Officer: разбор Executive-курса AI & Data Science Leadership на asibiont.com

16 июля 2026

15 промтов для Swift и iOS: SwiftUI, UIKit, Core Data и Combine — готовая подборка для разработчиков

16 июля 2026

Как автоматизировать транзакционные письма с помощью SendGrid и AI-агента ASI Biont: руководство по интеграции без кода

16 июля 2026

Как интеграция AI-агента ASI Biont с VK сокращает время на SMM на 40% и увеличивает скорость ответа на 70%

16 июля 2026

15 промтов для FastAPI: эндпоинты, Pydantic и фоновая обработка

16 июля 2026

12 промтов для Blockchain и смарт-контрактов: Solidity, Rust, Vyper

16 июля 2026