6 лучших инструментов оптимизации SQL-запросов в 2020 году

click fraud protection

Данные это все и, следовательно, SQL везде. Язык структурированных запросов стал наиболее используемым языком запросов и поддерживается большинством современных систем управления реляционными базами данных. На самом деле, его использование настолько распространено, что мы часто называем серверы баз данных SQL-серверами.

Язык определяет, как могут быть сформированы запросы для извлечения из базы данных точных данных, которые требуются. Учитывая множество современных баз данных с десятками объединенных таблиц, запросы SQL могут быть довольно сложными. С добавленной сложностью приходит снижение производительности. Оптимизация запросов SQL позволяет точно настраивать запросы так, чтобы они возвращали нужные данные как можно быстрее. Оптимизация запросов SQL может быть выполнена вручную, но существуют инструменты, помогающие оптимизировать их. Мы собираемся рассмотреть некоторые из лучших инструментов, которые мы нашли.

Поскольку мы хотим, чтобы все были на одной странице, когда мы рассматриваем лучшие продукты, мы начнем с обсуждения того, что и как стесняться в оптимизации запросов SQL. Затем мы обсудим основные возможности инструментов оптимизации SQL-запросов. Различные инструменты предлагают разные функции, как вы уже видите. Мы сделаем все возможное, чтобы отсортировать основные функции, которые вы должны искать при выборе лучшего инструмента для ваших конкретных потребностей. И, наконец, мы рассмотрим лучшие инструменты, которые мы могли найти.

instagram viewer

Оптимизация запросов в SQL-серверах

Проще говоря, оптимизация SQL-запросов - это процесс анализа SQL-запросов и определения наиболее эффективного механизма выполнения. Это часто процесс проб и ошибок, когда различные запросы проверяются, чтобы определить, какой из них предлагает лучшую производительность, и в то же время возвращает запрашиваемые данные. Оптимизаторы запросов иногда встроены в системы управления базами данных, но считается, что внешние сторонние инструменты предлагают лучшие результаты производительности. Типичный оптимизатор запросов генерирует один или несколько планов запросов для каждого запроса, каждый из которых представляет собой механизм, используемый для выполнения запроса. Производительность (то есть время выполнения) каждого измеряется, и наиболее эффективный план запроса выбирается и используется для выполнения запроса. В то время как некоторые инструменты оптимизации SQL-запросов являются более простыми вспомогательными приложениями, которые требуют большой человеческой помощи, лучшие системы выполняют большую часть своей работы в фоновом режиме.

Вот быстрый пример оптимизации запросов. Если пользователь запускает запрос, который выбирает приблизительно половину данных таблицы в то время, когда на сервер многозадачны одновременные соединения. В такой ситуации оптимизатор запросов может решить использовать план запроса, который использует индексы таблиц для удовлетворения запроса на основе ограниченных ресурсов. Это может уменьшить расход ресурсов сервера. Если пользователь выполнил тот же запрос в другое время, когда было доступно больше ресурсов сервера, оптимизатор запросов мог бы определили, что ограничение ресурсов не было проблемой, и не использовали индексы таблиц, загружая полную таблицу в Память.

Основные характеристики инструментов оптимизации SQL-запросов

Как мы уже определили, основная функция инструмента SQL Query Optimizer состоит в том, чтобы попытаться определить наилучший способ выполнения запроса, проанализировав различные планы запросов. Все инструменты, рассмотренные здесь, будут по крайней мере для этого, но некоторые предлагают гораздо больше функциональности. Давайте рассмотрим некоторые из основных функций, обычно встречающихся в инструментах оптимизации SQL-запросов.

Базовая настройка SQL

Это основная функциональность инструментов оптимизации SQL-запросов. Это процесс переписывания операторов SQL по-разному с целью повышения производительности запроса при одновременном получении того же результирующего набора данных. Инструмент работает путем измерения времени выполнения запроса для различных версий запроса (планов запроса) и выбора той, которая выполняется быстрее всего.

Поддержка ядра СУБД

Большинство инструментов, по крайней мере, поддерживают наиболее распространенные механизмы баз данных, такие как Microsoft SQL, Oracle, MySQL, PostgreSQL и MariaDB. Другие будут поддерживать более широкий выбор, а другие будут поддерживать только один. Важно выбрать инструмент, который может поддерживать все двигатели, которые вы используете,

Поддержка облачных баз данных

Некоторые инструменты оптимизации SQL-запросов способны анализировать и оптимизировать размещаемые в облаке базы данных, такие как Microsoft SQL Azure или AWS RDS. Облачная поддержка сильно варьируется от инструмента к инструменту. Опять же, важно выбрать тот, который поддерживает то, что у вас есть. Обратите внимание, что большинство инструментов, поддерживающих облачные базы данных, также поддерживают локальные.

Лучшие инструменты и программное обеспечение для оптимизации SQL-запросов

Наконец пришло время выявить и проанализировать лучшие инструменты и программное обеспечение для оптимизации SQL-запросов. В нашем списке есть много разных типов инструментов, каждый из которых вносит свой вклад в оптимизацию. Наши основные критерии включения заключались в том, что каждый продукт, по крайней мере, помог вручную оптимизировать запросы SQL - большинство делают это автоматически - и что они работали так, как рекламировалось. Мы бы не хотели, чтобы вы тратили время на продукты, которые не будут делать то, что должны.

Наш первый продукт от SolarWinds, компании, которая пользуется отличной репутацией, создавая одни из лучших инструментов управления сетями и системами для большей части двадцатилетнего существования. Его флагманский продукт под названием SolarWinds Network Performance Monitor рассматривается многими как одно из самых лучших программ для мониторинга пропускной способности сети. Некоторая известность SolarWinds также происходит от многих бесплатных инструментов, которые он предлагает. Это небольшие инструменты, каждый из которых решает конкретную задачу сетевых администраторов. Два отличных примера этих инструментов - это расширенный калькулятор подсети и сервер системных журналов Kiwi.

Однако для оптимизации SQL-запросов вам нужно Анализатор производительности баз данных SolarWinds (DPA)инструмент управления базой данных, созданный для мониторинга, анализа и настройки производительности SQL-запросов. Он отслеживает и анализирует ваши экземпляры базы данных SQL и, используя метод анализа времени отклика, который уделяет основное внимание времени между запросами запросов и соответствующим ответом из базы данных, анализирует типы ожидания и события, чтобы выявить узкие места базы данных.

Анализатор производительности базы данных SolarWinds
  • БЕСПЛАТНАЯ ПРОБНАЯ ВЕРСИЯ: Анализатор производительности базы данных SolarWinds
  • Ссылка на скачивание:https://www.solarwinds.com/database-performance-analyzer

Этот инструмент, который также отлично подходит для устранения неполадок, имеет простой в использовании интерфейс, который поможет вам быстро и легко находить проблемы. Главный экран позволит вам просматривать экземпляры базы данных, время ожидания, рекомендации по запросам, процессор (с предупреждениями и критическими оповещениями), память, диск и сеансы.

При детализации инструментальная панель тренда конкретного экземпляра базы данных показывает вам в графическом формате общее время ожидания (или ваш выбор среднего или типичного времени ожидания в течение дня) для пользователей в течение месяца. На этом графике каждый цвет представляет отдельный оператор SQL, предоставляя визуально привлекательное представление о том, какой оператор выполняется дольше всего.

Хотя этот продукт не является настоящим инструментом оптимизации SQL-запросов, некоторые его функции могут помочь вам в этом. Например, он может отслеживать и измерять время выполнения запроса, а также предоставлять некоторые рекомендации по настройке, хотя, как правило, он связан с конфигурацией базы данных, а не с кодом запроса.

Цена за Анализатор производительности базы данных SolarWinds начинается от 1 995 долларов США и варьируется в зависимости от количества и типа экземпляров базы данных для мониторинга. Если вы хотите протестировать продукт перед покупкой, доступна полнофункциональная 14-дневная пробная версия.

2. SQL Query Tuner для диспетчера диагностики SQL

Диспетчер диагностики SQL является одним из лучших инструментов мониторинга баз данных. Но при дополнении его Тюнер SQL-запросов, что вы получаете, является одним из лучших инструментов оптимизации SQL-запросов. Его преимущества многочисленны. Он идентифицирует проблемные запросы SQL через профилирование базы данных анализа времени ожидания. Он также может дать вам автоматически сгенерированные рекомендации по настройке с помощью мастера настройки SQL-запросов. Инструмент проверит производительность SQL-запросов с помощью нагрузочного тестирования в смоделированных производственных средах.

SQL Query Tuner быстро и легко идентифицирует запросы SQL, которые вызывают низкую производительность базы данных, через профилирование базы данных и отображает графическую визуализацию анализа времени ожидания. Он будет контролировать весь источник данных в течение настраиваемого промежутка времени с непрерывным профилированием. В результате вы получите лучшее представление о том, как SQL Server планирует выполнять запросы SQL, и о различных затратах на производительность.

Скриншот SQL Query Tuner

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

Тюнер SQL Query содержит уникальные диаграммы настройки визуальных запросов SQL, которые позволяют понять влияние операторов SQL на базу данных, используя диаграммы вместо сложных планов выполнения. Индексы и ограничения для таблиц и представлений отображаются со статистикой таблиц и объединениями, используемыми в SQL. заявление (например, декартовы объединения, подразумеваемые декартовы объединения и отношения «многие ко многим») с диаграммы.

Проверьте производительность существующих и альтернативных SQL-запросов к базе данных с помощью нагрузочного тестирования. Сконфигурируйте запросы SQL для параллельного выполнения несколько раз и наблюдайте за тем, как они реагируют на моделируемые производственные среды без риска реального тестирования на производстве. Используя этот инструмент, вы можете настроить плохо выполняемые запросы SQL для SQL Server с помощью интуитивно понятного интерфейса.

SQL Query Tuner это дополнение к Диспетчер диагностики SQL. Если у вас еще нет этого продукта, их можно приобрести вместе как SQL Diagnostic Manager Pro за 2 156 долларов США за лицензию у продавца продукта также доступна бесплатная 14-дневная пробная версия без кредитной карты.

3. SQL Server Management Studio

Если ваш сервер базы данных является Microsoft SQL Server, возможно, собственный инструмент Microsoft, SQL Server Management Studio (SSMS), это все, что тебе нужно. Как вы, возможно, знаете, этот инструмент, который был впервые запущен с Microsoft SQL Server 2005, впервые используется для настройки, управления и администрирования всех компонентов в Microsoft SQL Server. Он включает в себя как редакторы сценариев, так и графические инструменты, которые работают с объектами и функциями подачи. То, что вы можете не знать, это то, что один из инструментов SSMS, Советник по настройке ядра СУБД SQL Server (DTA) может быть использован для оптимизации SQL-запросов.

Снимок экрана SQL Server Management Studio

Основная цель DTA - анализ баз данных и предоставление рекомендаций. В соответствии с официальной документацией Microsoft, этот инструмент может помочь вам решить проблемы с запросом конкретной проблемы, настроить большой набор запросов к одной или нескольким базам данных, выполнение аналитического анализа возможных изменений физического плана и управление хранилищем пространство.

Одна из лучших вещей о SQL Server Management Studio это его цена. Это бесплатный инструмент от Microsoft, который вы можете использовать для управления не только SQL Server, но и базой данных SQL Azure. Это может быть не самый удобный инструмент, но, учитывая его цену, стоит посмотреть.

4. EverSQL

EverSQL Интересно, так как это один из немногих онлайн-инструментов оптимизации SQL. Администраторы могут использовать этот инструмент для получения рекомендаций по настройке запросов и предложений по улучшению индексации. Поддержка базы данных в EverSQL несколько ограничен. Однако он поддерживает самые популярные платные и бесплатные движки баз данных с открытым исходным кодом, включая MSSQL, Oracle, MySQL, MariaDB и PerconaDB. Фактически, поскольку это автономный инструмент, не имеющий связи с вашей базой данных, он теоретически может оптимизировать и SQL-запрос, но он будет работать лучше, если он знает, какой тип ядра базы данных будет обрабатывать оптимизированный запрос.

Скриншот EverSQL

Использовать инструмент очень просто. Вы подключаетесь к сайту, выбираете тип и версию базы данных и вставляете код SQL-запроса. Чтобы получить рекомендации по индексированию и позволить инструменту применять расширенные преобразования запросов, вы можете при желании загрузить структуру схемы своей базы данных. Вы нажимаете «Далее» и через несколько секунд вы получаете оптимизированную версию запроса вместе с некоторыми рекомендациями по индексированию.

EverSQL не только оптимизирует запросы. Также предлагается несколько других бесплатных и полезных онлайн-инструментов. Есть, например, проверка и проверка синтаксиса SQL-запросов, Minifier Query для операторов SQL и средство форматирования запросов.

Ценовая структура EverSQL просто. У вас есть выбор бесплатного плана, который дает вам одну бесплатную оптимизацию запросов в день в течение 30 дней. Это план испытаний. Далее у вас есть базовый план по цене 29 долларов США в месяц, который включает в себя 10 ежемесячных оптимизаций, и план Plus по цене 135 долларов США в месяц с 30 оптимизациями в месяц и поддержкой чата в реальном времени. Индивидуальные планы также могут быть организованы для удовлетворения ваших конкретных потребностей.

5. SentryOne Plan Explorer

Plan Explorer это бесплатный инструмент от SentryOne. Это один из лучших инструментов анализа и оптимизации SQL-запросов. Этот инструмент может помочь вам быстро добраться до корня самых сложных проблем с запросами к SQL Server. Он состоит из нескольких модулей. Анализ индекса использует алгоритмы скоринга, чтобы помочь вам определить лучший индекс для поддержки данного запроса. Вы можете легко просматривать рекомендуемые индексы, создавать и изменять индексы, а также обнаруживать и обновлять старую статистику.

Модуль анализа статистики показывает влияние параметров скомпилированных и исполняемых запросов на производительность. Это позволяет быстро обнаружить перекос данных, который может способствовать возникновению проблем с анализом параметров, визуализировать потенциальные возрастающие ключевые проблемы и определить возможности для отфильтрованных индексов.

Скриншот Plan Explorer

Модуль Query Performance Profiling и Playback будет воспроизводить запросы и получать доступ к их статистике производительности в реальном времени. Используя этот инструмент, вы можете воспроизвести профиль запроса, чтобы точно определить, какие операторы добавляют наибольшую нагрузку на системные ресурсы. Нет необходимости снова запускать запрос.

Хотя большинство оптимизаторов SQL-запросов используют ориентировочную стоимость плана, Plan Explorer может отображать фактические наблюдаемые расходы. И вы можете увидеть разницу в стоимости, переключая представление между Оцененным и Фактическим. У этого бесплатного инструмента больше возможностей, чем у нас есть время представить их. Но так как это бесплатный инструмент, возможно, вы захотите попробовать и убедиться сами.

6. dbForge Studio для SQL Server

Devart«s dbForge Studio для SQL сервера это универсальный инструмент графического интерфейса SQL Server, который можно использовать для управления, администрирования, разработки, отчетности, анализа, оптимизации и т. д. SQL Server. Разработчики SQL и администраторы баз данных могут использовать инструмент с графическим интерфейсом, чтобы ускорить выполнение практически любых сложных задач, таких как проектирование базы данных, написание кода SQL, сравнение баз данных, синхронизация схем и данных, генерация значимых тестовых данных и др.

Обзор администрирования dbForge Studio for SQL Server

dbForge Studio для SQL сервера включает в себя SQL Query Plan Toolспециализированный инструмент оптимизации запросов. Его функция диаграммы плана выполнения помогает визуализировать и настроить план выполнения запроса, точно определяя медленно выполняющиеся узлы. Вкладка Wait Stats инструмента позволяет легко обнаружить потенциальные узкие места в вашем запросе, отображая список событий и ожиданий, связанных с ними. Yo может также использовать дерево плана инструмента, чтобы получить информацию о том, как SQL Server выполняет инструкцию SELECT. Он покажет, где, например, добавление индекса в таблицу или оптимизация объединения таблиц может повысить производительность.

Инструмент, который также известен как T-SQL Query Profiler, встроена в стандартную, профессиональную и корпоративную версии dbForge Studio for SQL server по цене 249,95, 499,95 и 699,95 долларов соответственно. Доступна бесплатная 30-дневная пробная версия всего продукта, а не только инструмента оптимизации запросов.

watch instagram story