6 melhores ferramentas de otimização de consulta SQL em 2020

click fraud protection

Os dados são tudo e, conseqüentemente, o SQL está em todo lugar. A Structured Query Language se tornou a linguagem de consulta mais usada e é suportada pela maioria dos sistemas modernos de gerenciamento de banco de dados relacional. Na verdade, seu uso é tão comum que frequentemente nos referimos aos servidores de banco de dados como servidores SQL.

A linguagem define como as consultas podem ser formadas para extrair de um banco de dados os dados precisos que são necessários. Dada a multiplicidade de bancos de dados modernos com dezenas de tabelas unidas, as consultas SQL podem ser bastante complexas. Com o aumento da complexidade, o desempenho é reduzido. A otimização de consulta SQL permite o ajuste fino das consultas para que retornem os dados corretos o mais rápido possível. A otimização de consultas SQL pode ser feita manualmente, mas existem ferramentas para auxiliar na otimização. Estamos prestes a revisar algumas das melhores ferramentas que encontramos.

Uma vez que queremos que todos estejam na mesma página enquanto revisamos os melhores produtos, começaremos discutindo o quê e como é a otimização de consulta SQL. Em seguida, discutiremos os principais recursos das ferramentas de otimização de consulta SQL. Diferentes ferramentas oferecem diferentes recursos, como você verá. Faremos o nosso melhor para identificar os recursos essenciais que você deve procurar ao escolher a melhor ferramenta para suas necessidades específicas. E, finalmente, revisaremos as melhores ferramentas que podemos encontrar.

instagram viewer

Otimização de consulta em servidores SQL

Simplificando, a otimização de consulta SQL é o ato de analisar consultas SQL e determinar o mecanismo de execução mais eficiente. Freqüentemente, é um processo de tentativa e erro, em que diferentes consultas são testadas para ver qual oferece o melhor desempenho, ao mesmo tempo que retorna os dados procurados. Otimizadores de consulta às vezes são construídos em sistemas de gerenciamento de banco de dados, mas ferramentas externas de terceiros costumam oferecer melhores resultados de desempenho. Um otimizador de consulta típico irá gerar um ou mais planos de consulta para cada consulta, cada um dos quais é um mecanismo usado para executar a consulta. O desempenho (ou seja, o tempo de execução) de cada um é medido e o plano de consulta mais eficiente é selecionado e usado para executar a consulta. Embora algumas ferramentas de otimização de consulta SQL sejam aplicativos auxiliares mais simples que requerem muita assistência humana, os melhores sistemas fazem a maior parte de seu trabalho em segundo plano.

Aqui está um exemplo rápido de otimização de consulta. Se um usuário executa uma consulta que seleciona aproximadamente metade dos dados de uma tabela em um momento quando o servidor está sobrecarregado com várias conexões simultâneas. Em tal situação, o otimizador de consulta pode decidir usar um plano de consulta que usa os índices da tabela para satisfazer a consulta, com base em recursos limitados. Isso pode reduzir o esgotamento da consulta nos recursos do servidor. Se o usuário executasse a mesma consulta em outro momento, quando mais recursos do servidor estivessem disponíveis, o otimizador de consulta poderia determinaram que a limitação de recursos não era um problema e não usam índices de tabela, carregando a tabela completa em memória.

Principais características das ferramentas de otimização de consulta SQL

Conforme determinamos, a principal função de uma ferramenta SQL Query Optimizer é tentar determinar a melhor maneira de executar a consulta analisando diferentes planos de consulta. Todas as ferramentas analisadas aqui irão pelo menos isso, mas algumas oferecem muito mais funcionalidade. Vamos dar uma olhada em alguns dos principais recursos comumente encontrados nas ferramentas de otimização de consulta SQL.

Ajuste SQL básico

Esta é a funcionalidade central das ferramentas de Otimização de Consulta SQL. É o processo de reescrever instruções SQL de maneira diferente, com o objetivo de melhorar o desempenho da consulta e, ao mesmo tempo, obter o mesmo conjunto de dados resultante. A ferramenta funciona medindo o tempo de execução da consulta das várias versões da consulta (planos de consulta) e escolhendo aquela que executa mais rapidamente.

Suporte a mecanismo de banco de dados

A maioria das ferramentas suportará pelo menos os mecanismos de banco de dados mais comuns, como Microsoft SQL, Oracle, MySQL, PostgreSQL e MariaDB. Outros suportarão uma seleção mais ampla e outros ainda suportarão apenas uma. É importante escolher uma ferramenta que possa oferecer suporte a todos os motores que você está usando,

Suporte de banco de dados baseado em nuvem

Algumas ferramentas de otimização de consulta SQL são capazes de analisar e otimizar bancos de dados hospedados em nuvem, como Microsoft SQL Azure ou AWS RDS. O suporte à nuvem varia muito de ferramenta para ferramenta. Novamente, é importante escolher um que suporte o que você tem. Observe que a maioria das ferramentas de suporte a bancos de dados em nuvem também oferecerá suporte a bancos locais.

Melhores ferramentas e software de otimização de consulta SQL

Finalmente chegou a hora de revelar - e revisar - as melhores ferramentas e softwares de otimização de consulta SQL que poderíamos encontrar. Nossa lista tem muitos tipos diferentes de ferramentas, cada uma trazendo seu próprio toque de otimização. Nossos principais critérios de inclusão foram que cada produto pelo menos ajudasse a otimizar manualmente as consultas SQL - a maioria o faz automaticamente - e que funcionassem conforme anunciado. Não queremos que você perca tempo com produtos que não fazem o que deveriam.

Nosso primeiro produto é da SolarWinds, uma empresa que gozou de excelente reputação por fazer algumas das melhores ferramentas de gerenciamento de rede e sistema durante a maior parte de seus vinte anos de existência. Seu principal produto, denominado SolarWinds Network Performance Monitor, é visto por muitos como um dos melhores softwares de monitoramento de largura de banda de rede. Parte da fama da SolarWinds também vem das muitas ferramentas gratuitas que oferece. Eles são ferramentas menores, cada uma abordando uma tarefa específica dos administradores de rede. Dois excelentes exemplos dessas ferramentas são a Calculadora de sub-rede avançada e o servidor Kiwi Syslog.

Para otimização de consulta SQL, o que você precisa, porém, é o SolarWinds Database Performance Analyzer (DPA), uma ferramenta de gerenciamento de banco de dados construída para monitoramento, análise e ajuste de desempenho de consulta SQL. Ele monitora e analisa suas instâncias de banco de dados SQL e, usando um método de Análise de Tempo de Resposta que coloca o foco principal no tempo entre uma solicitação de consulta e a resposta correspondente do banco de dados, analisa os tipos de espera e eventos para identificar os gargalos de bancos de dados.

SolarWinds Database Performance Analyzer
  • TESTE GRÁTIS: SolarWinds Database Performance Analyzer
  • Link para Download:https://www.solarwinds.com/database-performance-analyzer

A ferramenta, que também é excelente para solucionar problemas, possui uma interface fácil de usar que o ajudará a encontrar problemas de forma rápida e fácil. A tela principal permitirá que você visualize as instâncias do banco de dados, tempos de espera, conselhos de consulta, CPU (com avisos e alertas críticos), memória, disco e sessões.

Ao fazer uma busca detalhada, o painel de tendência de uma instância de banco de dados específica mostra em um formato gráfico o tempos de espera total (ou sua escolha de tempos de espera de dia médio ou típico) para usuários ao longo de um mês. Nesse gráfico, cada cor representa uma instrução SQL individual, fornecendo uma representação visualmente atraente de qual instrução leva mais tempo para ser executada.

Embora este produto não seja uma verdadeira ferramenta de otimização de consulta SQL, algumas de suas funções podem ajudá-lo com isso. Por exemplo, ele pode monitorar e medir o tempo de execução da consulta e também fornecer alguns conselhos de ajuste, embora tenda a estar relacionado à configuração do banco de dados em vez do código da consulta.

O preço do SolarWinds Database Performance Analyzer começa em US $ 1.995 e varia de acordo com o número e o tipo de instâncias de banco de dados a serem monitoradas. Se você quiser fazer um teste com o produto antes de comprá-lo, uma versão de teste totalmente funcional de 14 dias está disponível.

2. SQL Query Tuner para SQL Diagnostic Manager

o SQL Diagnostic Manager é uma das principais ferramentas de monitoramento de banco de dados disponíveis. Mas ao complementá-lo com o Sintonizador de consulta SQL, o que você obtém é uma das melhores ferramentas de otimização de consulta SQL. Seus benefícios são múltiplos. Ele identifica consultas SQL problemáticas por meio de perfis de banco de dados de análise de tempo de espera. Ele também pode fornecer recomendações de ajuste geradas automaticamente com o assistente de ajuste de consulta SQL. A ferramenta verificará o desempenho de consultas SQL por meio de testes de carga em ambientes de produção simulados.

o Sintonizador de consulta SQL identificará de forma rápida e fácil as consultas SQL que causam baixo desempenho do banco de dados por meio de perfis de banco de dados e exibirá uma visualização gráfica da análise do tempo de espera. Ele monitorará uma fonte de dados inteira dentro de um intervalo de tempo configurável com criação de perfil contínua. Como resultado, você obterá um melhor entendimento de como o SQL Server planeja executar consultas SQL e os vários custos de desempenho.

Captura de tela do SQL Query Tuner

Esta ferramenta apresentará soluções sugeridas geradas automaticamente com o assistente de ajuste de consulta SQL que fornecem um contexto essencial para o ajuste de consultas SQL. Ele apresenta análise de índice codificado por cores de índices usados, não usados ​​e ausentes com recomendações para desempenho ideal. Você pode gerar casos possíveis e encontrar a melhor alternativa para uma determinada instrução SQL, incluindo reescritas de consultas SQL e injeções de dicas.

o Sintonizador de consulta SQL apresenta diagramas de ajuste de consulta SQL visuais exclusivos que permitem entender o impacto das instruções SQL no banco de dados usando os diagramas em vez de planos de execução complicados. Índices e restrições em tabelas e visualizações são exibidos com estatísticas de tabela e as junções usadas em um SQL declaração (como junções cartesianas, junções cartesianas implícitas e relacionamentos muitos para muitos) com o diagramas.

Verifique o desempenho de consultas SQL existentes e alternativas em relação ao banco de dados por meio de testes de carga. Configure consultas SQL para serem executadas várias vezes em paralelo e observar como elas respondem a ambientes de produção simulados sem o risco de realmente testar em produção. Usando essa ferramenta, você pode ajustar consultas SQL de baixo desempenho para o SQL Server a partir de uma interface intuitiva.

o Sintonizador de consulta SQL é um complemento para o SQL Diagnostic Manager. Se você ainda não possui esse produto, ambos podem ser adquiridos juntos como o SQL Diagnostic Manager Pro por $ 2 156 por licença, um teste gratuito de 14 dias sem cartão de crédito também está disponível no fornecedor do produto

3. SQL Server Management Studio

Se o seu servidor de banco de dados for um Microsoft SQL Server, talvez a própria ferramenta da Microsoft, SQL Server Management Studio (SSMS), é tudo o que você precisa. Como você deve saber, a ferramenta - que foi lançada pela primeira vez com o Microsoft SQL Server 2005 - é usada para configurar, gerenciar e administrar todos os componentes do Microsoft SQL Server. Inclui editores de script e ferramentas gráficas que trabalham com objetos e recursos do serviço. O que você pode não saber é que uma das ferramentas do SSMS, o Consultor de otimização do mecanismo de banco de dados do SQL Server (DTA) pode ser usado para otimização de consulta SQL.

Captura de tela do SQL Server Management Studio

O objetivo principal do DTA é analisar bancos de dados e fornecer recomendações. De acordo com a documentação oficial da Microsoft, a ferramenta pode ajudá-lo a solucionar o problema de desempenho de uma consulta de problema específico, ajustar um grande conjunto de consultas em um ou mais bancos de dados, execute uma análise exploratória e se de possíveis alterações de design físico e gerencie o armazenamento espaço.

Uma das melhores coisas sobre SQL Server Management Studio é o seu preço. Esta é uma ferramenta gratuita da Microsoft que você pode usar para gerenciar não apenas o SQL Server, mas também o Banco de Dados SQL do Azure. Pode não ser a ferramenta mais amigável que existe, mas, devido ao seu preço, vale a pena dar uma olhada.

4. EverSQL

EverSQL é interessante, pois é uma das poucas ferramentas de otimização de SQL online. Os administradores podem usar essa ferramenta para obter recomendações de ajuste de consulta e sugestões de melhoria de indexação. Suporte de banco de dados em EverSQL é um tanto limitado. No entanto, ele oferece suporte aos mecanismos de banco de dados pagos, gratuitos e de código aberto mais populares, incluindo MSSQL, Oracle, MySQL, MariaDB e PerconaDB. Na verdade, por se tratar de uma ferramenta offline que não possui conexão com seu banco de dados, ela poderia, teoricamente, otimizar e consulta SQL, mas fará um trabalho melhor se souber que tipo de mecanismo de banco de dados irá processar o otimizado consulta.

EverSQL Screenshot

Usar a ferramenta é super simples. Você se conecta ao site, seleciona o tipo e a versão do banco de dados e cola o código de consulta SQL. Para obter recomendações de indexação e permitir que a ferramenta aplique transformações de consulta avançadas, você pode opcionalmente fazer o upload da estrutura do esquema do seu banco de dados. Você clica em “Avançar” e, em segundos, obtém a versão otimizada de sua consulta junto com algumas recomendações de indexação.

EverSQL não faz apenas otimizações de consulta. Algumas outras ferramentas online úteis e gratuitas também são oferecidas. Há, por exemplo, um SQL Query Syntax Check & Validator, um Query Minifier para SQL Statements e um Query Formatter.

A estrutura de preços de EverSQL é simples. Você pode escolher um plano gratuito que oferece uma otimização de consulta gratuita por dia durante 30 dias. Este é o plano de teste. Em seguida, você tem o plano básico de US $ 29 / mês, que inclui 10 otimizações mensais, e o plano Plus, de US $ 135 / mês, com 30 otimizações por mês e suporte por chat ao vivo. Planos personalizados também podem ser organizados para atender às suas necessidades específicas.

5. SentryOne Plan Explorer

Plan Explorer é uma ferramenta gratuita de SentryOne. É uma das melhores ferramentas de análise e otimização de consultas SQL. Essa ferramenta pode ajudá-lo a chegar rapidamente à raiz dos problemas de consulta mais difíceis do SQL Server. É composto por vários módulos. A Análise de Índice usa algoritmos de pontuação para ajudá-lo a determinar o melhor índice para dar suporte a uma determinada consulta. Você pode visualizar facilmente os índices recomendados, criar e modificar índices e detectar e atualizar estatísticas antigas.

O módulo de análise estatística mostra o impacto dos parâmetros de consulta compilados e de tempo de execução no desempenho. Isso permite que você identifique rapidamente a distorção de dados que pode contribuir para problemas de detecção de parâmetros, visualizar problemas-chave crescentes em potencial e identificar oportunidades para índices filtrados.

Captura de tela do Plan Explorer

O módulo Query Performance Profiling and Playback reproduzirá as consultas e acessará suas estatísticas de desempenho ao vivo. Usando esta ferramenta, você pode reproduzir o perfil de consulta para ver exatamente quais operadores estão adicionando mais carga aos recursos do sistema. Não há necessidade de executar a consulta novamente.

Embora a maioria dos otimizadores de consulta SQL use o custo estimado do plano, Plan Explorer pode exibir os custos reais observados. E você pode ver a diferença de custo alternando a visualização entre Estimado e Real. Existem mais recursos para esta ferramenta gratuita do que temos tempo para apresentá-los. Mas, uma vez que é uma ferramenta gratuita, talvez você queira experimentá-la e ver por si mesmo.

6. dbForge Studio para SQL Server

Devart'S dbForge Studio para servidor SQL é uma ferramenta GUI de servidor SQL tudo-em-um que pode ser usada para gerenciamento, administração, desenvolvimento, relatórios de dados, análise, otimização e muito mais do SQL Server. Desenvolvedores de SQL e administradores de banco de dados podem usar a ferramenta GUI para acelerar quase todas as tarefas complexas de banco de dados, como projetar bancos de dados, escrevendo código SQL, comparando bancos de dados, sincronizando esquemas e dados, gerando dados de teste significativos, entre outros.

Visão geral da administração do dbForge Studio for SQL Server

dbForge Studio para servidor SQL inclui o Ferramenta de plano de consulta SQL, uma ferramenta de otimização de consulta dedicada. Seu recurso de diagrama de plano de execução ajuda a visualizar e ajustar o plano de execução de consulta, identificando os nós de execução lenta. A guia Wait Stats da ferramenta permite detectar facilmente possíveis gargalos em sua consulta, exibindo uma lista de eventos e esperas associados a eles. Você também pode usar a árvore de plano da ferramenta para obter informações sobre como o SQL Server executa uma instrução SELECT. Ele mostrará onde adicionar um índice a uma tabela ou otimizar a junção de uma tabela, por exemplo, pode aumentar o desempenho.

A ferramenta, também conhecida como T-SQL Query Profiler, está integrado nas versões Standard, Profesional e Enterprise do dbForge Studio para SQL server que custam $ 249,95, $ 499,95 e $ 699,95, respectivamente. Uma avaliação gratuita de 30 dias de todo o produto - não apenas a ferramenta de otimização de consulta - está disponível.

watch instagram story