Всем привет!
Экспериментировал с оптимизацией SQL запросы используя ChatGPT и Claude. В какой-то момент понял, что это превращается в одно и то же:
Напиши промт → вставь SQL → подожди → поправь → повтори
Работает, но не очень удобно:
Нужно придумывать, как сформулировать вопрос
Ответы слишком многословные
Всё в одном длинном сообщении — не очень читаемо
Нужно вспоминать или дополнительно запрашивать команды на выгрузку контекста о структуре БД
Поэтому сделал инструмент, который не требует общения с ИИ, а просто берёт SQL-запрос, анализирует его и показывает предложения по улучшению и команды на загрузку дополнительных данных для улучшения рекомендаций.
Называется SQLi.to
Как работает:
Вставляешь SQL-запрос
Выбираешь СУБД (MySQL, PostgreSQL, SQLite и т.д.)
Нажимаешь “Analyze”
Получаешь: Оптимизированную версию запроса + Список рекомендаций
Дополнительно можно загрузить информацию о структуре базы (схема, индексы, статистика). Инструмент сразу предлагает готовую SQL-команду, которую можно запустить у себя в БД, скопировать результат в JSON, вставить — и получить более качественные рекомендации.
Зачем это вообще?
Я не пытаюсь заменить знание SQL или опыт. Скорее хочу сделать инструмент, который помогает:
Быстро увидеть, что можно улучшить
Получить второе мнение, если не уверен
Учиться писать более аккуратный SQL
Хотел бы получить фидбек от сообщества:
Удобен ли такой интерфейс?
Может ли инструмент быть полезным в работе или обучении?
Ссылка: https://sqli.to
Комментарии (13)
akakoychenko
21.07.2025 18:47Вцелом, если под рукой есть ddl всей бд (а он, как правило, редко теряет актуальность), то копипастнуть его в o3, как будто бы, не то, чтобы сложно
Но запросы пишет просто песня. Включая серьезную аналитику на десяток CTE. Если совсем сложное что-то надо, можно ещё пару подсказок дать, типа, считаю, что тебе понадобятся вот эти таблицы
apcs660
21.07.2025 18:47тоже заинтересовало, что может модель создать без метадатанных?
Недавно смотрел создание запросов для graph DB (neo4j), cypher query - там честно метаданные отдаются в контекст.
Если не ошибаюсь, на хабре был пост от участника российского postgres о том как их командой планируется встроить модельку с созданием sql запроса в базу - доступ к метаданным есть, но все равно модель ошибается с созданием запроса.
Может быть не настоящий сварщик - не будет ли удобнее обучать модель создавать запросы в формате json или подобном более удобном для обучения AI и предварительной проверки а затем переводить его в SQL? Или оставить упрощенное что то типа JPA в Java, не залезать полноценно в ньюансы SQL и конкретной базы? Модель хороша для универсальных высокоуровневых решений - натаскал ее, дал метаданные дата объектов и используй для разных баз с адаптером на MCP или просто функцией.
Dradmin Автор
21.07.2025 18:47Согласен, при хорошем DDL и чётком контексте LLM действительно может писать отличные запросы особенно если немного “подсказать направление”.
Я пытался сделать инструмент, который избавляет от необходимости всё это проговаривать в чате: просто вставляешь запрос, выбираешь СУБД, и (если хочется глубже) можно добавить схему, индексы, EXPLAIN - всё структурировано, без промтов и многословия.
Цель не заменить подход с DDL + чат, а упростить первые шаги и ускорить получение качественных рекомендаций.
apcs660
21.07.2025 18:47кстати, почему бы не запрашивать ddl функцией/MCP? думаю все это потихоньку добавится. Более того, мы не будем работать с одиночными агентами, а сразу с наборами агентов.
PEMOHT_OKOH
21.07.2025 18:47Для mssql есть?
Dradmin Автор
21.07.2025 18:47Да Есть, пока отключил потому что сложно протестировать. Если поможете протестировать то быстро появится )
rozhnev
21.07.2025 18:47Я давно сделал похожую штуку на своём сайте sqlize.online Можно выполнять SQL запросы онлайн и пользоваться подсказкой от ИИ
mrprogre
Тем, кто использует постгрес будет полезен explain.tensor.ru. Вставляете план запроса и он вам рекомендует очень детально что поправить.
Dradmin Автор
спасибо за ссылку, интересный сервис