Performance Studio CLI

Анализатор планов выполнения SQL Server: 30 правил, недостающие индексы и MCP-сервер, чтобы агент разбирал планы сам

  • 250 ★ репозитория
  • Последний коммит
  • MIT
CLI

Широкий доступ

Почему такой уровень

  • Для фактического плана инструмент выполняет ваш запрос на сервере SQL Server, а вызов с `--query` может запустить любой текст запроса
  • Инструмент принимает логин и пароль сервера через флаги, файл `.env` или хранилище ОС и передает их драйверу подключения
  • Встроенный MCP-сервер отдает агенту планы и данные Query Store, пока включен в настройках
Все причины и проверки

erikdarlingdata/performancestudio

Установка

Работает в

Ручная установка

dotnet tool install -g PerformanceStudio.Cli

Нужен .NET 10 runtime. Проверка установки: planview analyze --help.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Для фактического плана инструмент выполняет ваш запрос на сервере SQL Server, а вызов с `--query` может запустить любой текст запроса
  • Инструмент принимает логин и пароль сервера через флаги, файл `.env` или хранилище ОС и передает их драйверу подключения
  • Встроенный MCP-сервер отдает агенту планы и данные Query Store, пока включен в настройках

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Performance Studio разбирает планы выполнения SQL Server и находит в них причины медленных запросов. Консольная команда `planview` читает файл `.sqlplan` из SSMS или Azure Data Studio, а при подключении к серверу сама снимает план и анализирует его. Результат выходит как JSON с деревом операторов или как текстовый отчет с предупреждениями уровней Info, Warning и Critical и готовыми командами `CREATE INDEX` для недостающих индексов. Набор из 30 правил ловит сбросы хэша и сортировки в `tempdb`, перекос параллелизма, поиск по ключу и RID, поздние фильтры, чувствительность к параметрам, скалярные функции и неявные преобразования типов. Режим пакетной обработки берет папку с `.sql` файлами и для каждого запроса сохраняет план, JSON и текстовый отчет. Команда `planview query-store` выбирает самые тяжелые запросы по CPU, времени или чтениям из Query Store. В комплекте идут настольное приложение на Avalonia для Windows, macOS и Linux и расширение для SSMS 21 и 22. Приложение показывает план графически, сравнивает два плана и умеет собрать скрипт для воспроизведения запроса. Встроенный MCP-сервер дает Claude Code или Cursor 13 инструментов для анализа загруженных планов.

Для кого. Для администраторов баз данных и разработчиков на SQL Server, которые хотят получать разбор плана из терминала, CI или от агента без ручного обхода SSMS.

Подходит, если

  • Нужно быстро понять по сохраненному `.sqlplan`, почему запрос стал медленным: где он сбрасывает данные в `tempdb` или читает лишние строки
  • Нужно в конвейере CI прогонять папку запросов через `planview` и сохранять JSON с предупреждениями для сравнения между сборками
  • Нужно, чтобы Claude Code проанализировал открытые в приложении планы и предложил индексы через встроенный MCP-сервер
  • Нужно сравнить два плана одного запроса до и после правки и увидеть, какие показатели ухудшились
  • Нужно быстро найти самые тяжелые запросы в Query Store по CPU, длительности или числу чтений

Не подходит, если

  • Нужна другая СУБД, например PostgreSQL или MySQL: инструмент читает только планы SQL Server
  • Нужен общий доступ агента к данным и произвольным SQL-запросам: для этого подойдет MCP-сервер базы, а здесь Query Store читается встроенным запросом без произвольного SQL
  • Запрос нельзя выполнять на боевом сервере, а вам нужен фактический план: для такого плана запрос реально запускается, безопаснее оценочный режим с флагом `--estimated`
  • Нужно хранить пароли в системном хранилище на Linux: команда `planview credential` там завершается ошибкой

Пример запроса к агенту

Разбери план `slow-query.sqlplan`: покажи критические предупреждения, самые дорогие операторы и какие индексы стоит создать

Ограничения

Для CLI нужен .NET 10 runtime, для сборки исходников .NET 10 SDK. Готовые настольные сборки самодостаточны. Начать можно с файла `.sqlplan` без доступа к базе. При живом захвате фактического плана запрос выполняется с правами учетной записи SQL Server, поэтому сначала используйте тестовую среду или отдельный вход с ограниченными правами.

В планах встречаются текст SQL, значения параметров и имена объектов. Через MCP эти сведения получает модель агента. У приложения HTTP-сервер по умолчанию выключен и слушает localhost; отдельный режим CLI работает через `stdio`. На Linux системного хранилища паролей нет, доступные способы передачи секрета нужно выбирать отдельно.

Как отключить. Команда `dotnet tool uninstall -g PerformanceStudio.Cli` удаляет консольный инструмент. MCP-сервер приложения отключает значение `false` у ключа `mcp_enabled` в `~/.planview/settings.json`, а подключение к Claude Code снимает `claude mcp remove performance-studio`.

Частые вопросы

Как поставить `planview` для анализа планов SQL Server?

Выполните `dotnet tool install -g PerformanceStudio.Cli`, нужен .NET 10 runtime. В CI инструмент ставят в папку флагом `--tool-path` и фиксируют версию через `--version`. Обновляет команда `dotnet tool update -g PerformanceStudio.Cli`.

Как подключить MCP-сервер Performance Studio к Claude Code?

Включите сервер в `~/.planview/settings.json` ключами `mcp_enabled: true` и `mcp_port: 5152`, затем выполните `claude mcp add --transport http --scope user performance-studio http://localhost:5152/`. Сервер слушает только localhost и по умолчанию выключен.

Выполнит ли `planview` мой запрос на сервере?

Зависит от режима: при снятии фактического плана запрос выполняется. Флаг `--estimated` получает оценочный план без выполнения запроса. Доступ к серверу и возможное раскрытие текста SQL нужно учитывать в обоих случаях.

Какие предупреждения показывает анализ плана?

Тридцать правил охватывают сбросы хэша, сортировки и обмена в `tempdb`, перекос параллелизма, поиск по ключу и RID, поздние фильтры, цикл вложенных петель, чувствительность к параметрам, скалярные функции, неявные преобразования и антипаттерны вроде `OPTIMIZE FOR UNKNOWN`. У предупреждения есть уровень и контекст; номер оператора указывается, когда замечание относится к конкретному оператору.

Где `planview` хранит пароли к SQL Server?

Команда `planview credential add` кладет пароль в Windows Credential Manager или Связку ключей macOS, на диск открытым текстом ничего не пишется. На Linux хранилища нет, поэтому передавайте логин и пароль через `--password-stdin` или файл `.env`.

Обсуждение

Вопросов и отзывов пока нет.

MySQL MCP Server Pro

mysql_mcp_server_pro

MCP-сервер для MySQL: выполняет SQL с ролями доступа, ищет таблицы по комментариям и разбирает блокировки, индексы и планы запросов

MCP-серверШирокий доступ249Звезды репозитория

Платформа мониторинга SQL Server, MySQL и PostgreSQL с MCP на 11 инструментов: агент читает метрики, а не сами базы.

MCP-серверРасширенный доступ99Звезды репозитория
Официальный

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

MCP-серверШирокий доступ5,5 тыс.Звезды репозитория
Официальный

Агент запрашивает метрики, логи и трассы из GreptimeDB на SQL, TQL и RANGE, с запретом записи и маскировкой чувствительных данных

MCP-серверРасширенный доступ29Звезды репозитория
Официальный

MCP-сервер и плагин Claude Code для SQL: проверка, форматирование, линт и поиск инъекций в запросах на восьми диалектах.

MCP-серверРасширенный доступ124Звезды репозитория

sqlsure проверяет SQL по заявленным фактам схемы и ловит задвоение сумм после join до запуска запроса.

СкиллМинимальный доступ99Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Performance Studio (эта карточка)нет250
Microsoft SQL Server MCP Serverнетключ необязателен404MCP-сервер для запросов и схемы базы, без разбора планов выполнения
DBHubнетне нужна3 839универсальный MCP-сервер для нескольких СУБД, не анализирует планы и Query Store

Коротко о README

Помимо анализа, настольное приложение сравнивает планы и готовит материалы для воспроизведения запроса. Проект распространяется по MIT; готовые архивы доступны для Windows, macOS и Linux.

Бейдж для README

Сообщить о проблеме