6 migliori strumenti di ottimizzazione delle query SQL nel 2020

click fraud protection

I dati sono tutto e, di conseguenza, SQL è ovunque. Lo Structured Query Language è diventato il linguaggio di query più utilizzato ed è supportato dai più moderni sistemi di gestione di database relazionali. In effetti, il suo utilizzo è così diffuso che spesso ci riferiamo ai server di database come server SQL.

Il linguaggio definisce come possono essere formate le query per estrarre da un database i dati precisi che sono richiesti. Data la molteplicità dei database moderni con dozzine di tabelle unite, le query SQL possono essere piuttosto complesse. Con l'aggiunta di complessità si ottengono prestazioni ridotte. L'ottimizzazione delle query SQL consente di mettere a punto le query in modo che restituiscano i dati corretti il ​​più rapidamente possibile. L'ottimizzazione delle query SQL può essere eseguita manualmente, ma esistono strumenti che aiutano a ottimizzarle. Stiamo per esaminare alcuni dei migliori strumenti che abbiamo trovato.

Dal momento che desideriamo che tutti siano sulla stessa pagina mentre esaminiamo i migliori prodotti, inizieremo discutendo su cosa e su cosa sia necessario l'ottimizzazione delle query SQL. Quindi, discuteremo le caratteristiche principali degli strumenti di ottimizzazione delle query SQL. Strumenti diversi offrono funzionalità diverse, come stai per vedere. Faremo del nostro meglio per individuare le caratteristiche essenziali che dovresti cercare quando scegli lo strumento migliore per le tue esigenze specifiche. E infine, esamineremo i migliori strumenti che siamo riusciti a trovare.

instagram viewer

Ottimizzazione delle query nei server SQL

In poche parole, l'ottimizzazione delle query SQL è l'atto di analizzare le query SQL e determinare il meccanismo di esecuzione più efficiente. Si tratta spesso di un processo di prova ed errore in cui vengono testate diverse query per vedere quale offre le migliori prestazioni, pur continuando a restituire i dati desiderati. Gli ottimizzatori di query sono talvolta integrati nei sistemi di gestione del database, ma spesso si pensa che strumenti esterni di terze parti offrano risultati migliori in termini di prestazioni. Un tipico Query Optimizer genererà uno o più piani di query per ogni query, ognuno dei quali è un meccanismo utilizzato per eseguire la query. Le prestazioni (ovvero il tempo di esecuzione) di ciascuno vengono misurate e il piano di query più efficiente viene selezionato e utilizzato per eseguire la query. Mentre alcuni strumenti di ottimizzazione delle query SQL sono applicazioni di supporto più semplici che richiedono molta assistenza umana, i migliori sistemi svolgono la maggior parte del loro lavoro in background.

Ecco un rapido esempio di ottimizzazione delle query. Se un utente esegue una query che seleziona circa la metà dei dati di una tabella in un momento in cui il server è pesantemente impegnato con più connessioni simultanee. In tale situazione, l'ottimizzatore di query potrebbe decidere di utilizzare un piano di query che utilizza gli indici di tabella per soddisfare la query, in base a risorse limitate. Ciò può ridurre il consumo della query sulle risorse del server. Se l'utente ha eseguito la stessa query in un altro momento quando erano disponibili più risorse del server, l'ottimizzatore di query potrebbe hanno determinato che la limitazione delle risorse non era un problema e non utilizza gli indici delle tabelle, caricando la tabella completa in memoria.

Caratteristiche principali degli strumenti di ottimizzazione delle query SQL

Come abbiamo stabilito, la funzione principale di uno strumento SQL Query Optimizer è cercare di determinare il modo migliore per eseguire la query analizzando diversi piani di query. Tutti gli strumenti recensiti qui saranno almeno per questo, ma alcuni offrono molte più funzionalità. Diamo un'occhiata ad alcune delle caratteristiche principali che si trovano comunemente negli strumenti di ottimizzazione delle query SQL.

Ottimizzazione SQL di base

Questa è la funzionalità principale degli strumenti di ottimizzazione delle query SQL. È il processo di riscrittura delle istruzioni SQL in modo diverso con l'obiettivo di migliorare le prestazioni della query pur ottenendo lo stesso set di dati risultante. Lo strumento funziona misurando il tempo di esecuzione della query delle varie versioni della query (piani di query) e selezionando quella che viene eseguita più velocemente.

Supporto del motore di database

La maggior parte degli strumenti supporterà almeno i motori di database più comuni come Microsoft SQL, Oracle, MySQL, PostgreSQL e MariaDB. Altri supporteranno una selezione più ampia e altri ancora ne supporteranno solo uno. È importante scegliere uno strumento in grado di supportare tutti i motori che stai utilizzando,

Supporto database basato su cloud

Alcuni strumenti di ottimizzazione delle query SQL sono in grado di analizzare e ottimizzare database ospitati nel cloud come Microsoft SQL Azure o AWS RDS. Il supporto cloud varia notevolmente da strumento a strumento. Ancora una volta, è importante sceglierne uno che supporti ciò che hai. Tieni presente che la maggior parte degli strumenti che supportano i database cloud supporteranno anche quelli locali.

I migliori strumenti e software per l'ottimizzazione delle query SQL

È finalmente giunto il momento di rivelare e rivedere i migliori strumenti e software di ottimizzazione delle query SQL che siamo riusciti a trovare. Il nostro elenco include molti tipi diversi di strumenti, ognuno dei quali apporta una svolta all'ottimizzazione. I nostri principali criteri di inclusione erano che ogni prodotto almeno aiutasse a ottimizzare manualmente le query SQL, la maggior parte lo fa automaticamente, e che funzionasse come pubblicizzato. Non vorremmo farti perdere tempo con prodotti che non fanno quello che dovrebbero.

Il nostro primo prodotto è di SolarWinds, un'azienda che ha goduto di un'eccellente reputazione per aver realizzato alcuni dei migliori strumenti di gestione di reti e sistemi per la maggior parte dei suoi vent'anni di esistenza. Il suo prodotto di punta chiamato SolarWinds Network Performance Monitor è visto da molti come uno dei migliori software di monitoraggio della larghezza di banda della rete. Parte della fama di SolarWinds deriva anche dai numerosi strumenti gratuiti che offre. Sono strumenti più piccoli, ognuno dei quali si rivolge a un compito specifico degli amministratori di rete. Due ottimi esempi di questi strumenti sono l'Advanced Subnet Calculator e il Kiwi Syslog Server.

Per l'ottimizzazione delle query SQL, tuttavia, ciò di cui hai bisogno è il Analizzatore delle prestazioni del database SolarWinds (DPA), uno strumento di gestione del database creato per il monitoraggio, l'analisi e l'ottimizzazione delle prestazioni delle query SQL. Monitora e analizza le istanze del database SQL e, utilizzando un metodo di analisi del tempo di risposta che pone l'attenzione primaria sul tempo tra una richiesta di query e la corrispondente risposta dal database, analizza i tipi di attesa e gli eventi per individuare i colli di bottiglia di banche dati.

Analizzatore delle prestazioni del database SolarWinds
  • PROVA GRATUITA: Analizzatore delle prestazioni del database SolarWinds
  • Link per scaricare:https://www.solarwinds.com/database-performance-analyzer

Lo strumento, ottimo anche per la risoluzione dei problemi, presenta un'interfaccia facile da usare che ti aiuterà a trovare i problemi in modo rapido e semplice. La schermata principale ti consentirà di visualizzare le istanze del database, i tempi di attesa, i consigli sulle query, la CPU (con avvisi e avvisi critici), la memoria, il disco e le sessioni.

Quando si esegue il drill-down, il dashboard delle tendenze di un'istanza di database specifica mostra in un formato grafico il tempi di attesa totali (o la scelta dei tempi di attesa medi o giornalieri tipici) per gli utenti nel corso di un mese. In quel grafico, ogni colore rappresenta una singola istruzione SQL, fornendo una rappresentazione visivamente accattivante di quale istruzione impiega più tempo a essere eseguita.

Sebbene questo prodotto non sia un vero strumento di ottimizzazione delle query SQL, alcune delle sue funzioni possono aiutarti in questo. Ad esempio, può monitorare e misurare il tempo di esecuzione della query e fornirà anche alcuni consigli sull'ottimizzazione sebbene tenda ad essere correlato alla configurazione del database piuttosto che al codice della query.

Il prezzo per il Analizzatore delle prestazioni del database SolarWinds parte da $ 1 995 e varia in base al numero e al tipo di istanze del database da monitorare. Se vuoi provare il prodotto prima di acquistarlo, è disponibile una versione di prova di 14 giorni completamente funzionante.

2. SQL Query Tuner per SQL Diagnostic Manager

Il Gestione diagnostica SQL è uno dei migliori strumenti di monitoraggio del database disponibili. Ma quando lo si integra con il Sintonizzatore query SQL, quello che ottieni è uno dei migliori strumenti di ottimizzazione delle query SQL. I suoi vantaggi sono molteplici. Identifica le query SQL problematiche tramite la profilazione del database dell'analisi del tempo di attesa. Può anche fornire consigli di ottimizzazione generati automaticamente con la procedura guidata di ottimizzazione delle query SQL. Lo strumento verificherà le prestazioni delle query SQL tramite test di carico in ambienti di produzione simulati.

Il Sintonizzatore query SQL identificherà rapidamente e facilmente le query SQL che causano scarse prestazioni del database tramite la profilazione del database e visualizzerà una visualizzazione grafica dell'analisi del tempo di attesa. Monitorerà un'intera fonte di dati entro un arco di tempo configurabile con una profilazione continua. Di conseguenza, acquisirai una migliore comprensione di come SQL Server prevede di eseguire query SQL e dei vari costi delle prestazioni.

Schermata del sintonizzatore query SQL

Questo strumento presenterà le soluzioni suggerite generate automaticamente con la procedura guidata di ottimizzazione delle query SQL che fornisce un contesto essenziale per l'ottimizzazione delle query SQL. È dotato di analisi degli indici codificati a colori degli indici usati, non utilizzati e mancanti con consigli per prestazioni ottimali. È possibile generare casi possibili e trovare la migliore alternativa a una determinata istruzione SQL includendo riscritture di query SQL e iniezioni di suggerimenti.

Il Sintonizzatore query SQL presenta esclusivi diagrammi visivi di ottimizzazione delle query SQL che consentono di comprendere l'impatto delle istruzioni SQL sul database utilizzando i diagrammi invece di complicati piani di esecuzione. Gli indici e i vincoli su tabelle e viste vengono visualizzati con le statistiche della tabella e i join utilizzati in un SQL (come join cartesiani, join cartesiani impliciti e relazioni molti-a-molti) con diagrammi.

Verifica le prestazioni delle query SQL esistenti e alternative rispetto al database tramite test di carico. Configura le query SQL per l'esecuzione più volte in parallelo e per osservare come rispondono agli ambienti di produzione simulati senza il rischio di eseguire effettivamente i test in produzione. Utilizzando questo strumento, puoi ottimizzare le query SQL con scarse prestazioni per SQL Server da un'interfaccia intuitiva.

Il Sintonizzatore query SQL è un'aggiunta al Gestione diagnostica SQL. Se non possiedi già quel prodotto, entrambi possono essere acquistati insieme come il SQL Diagnostic Manager Pro per $ 2 156 per licenza è disponibile anche una prova gratuita di 14 giorni senza carta di credito presso il fornitore del prodotto

3. SQL Server Management Studio

Se il tuo server di database è un Microsoft SQL Server, forse lo strumento di Microsoft, SQL Server Management Studio (SSMS), é tutto quello di cui hai bisogno. Come forse saprai, lo strumento, lanciato per la prima volta con Microsoft SQL Server 2005, viene utilizzato per configurare, gestire e amministrare tutti i componenti all'interno di Microsoft SQL Server. Include sia editor di script che strumenti grafici che lavorano con oggetti e funzionalità del server. Quello che potresti non sapere è che uno degli strumenti di SSMS, il Ottimizzazione guidata motore di database di SQL Server (DTA) può essere utilizzato per l'ottimizzazione delle query SQL.

Schermata di SQL Server Management Studio

Lo scopo principale del DTA è analizzare i database e fornire raccomandazioni. Secondo la documentazione ufficiale di Microsoft, lo strumento può aiutarti a risolvere i problemi relativi alle prestazioni di una query di problemi specifici, ottimizzare un grande set di query su uno o più database, eseguire un'analisi ipotetica esplorativa di potenziali modifiche alla progettazione fisica e gestire l'archiviazione spazio.

Una delle cose migliori di SQL Server Management Studio è il suo prezzo. Questo è uno strumento gratuito di Microsoft che puoi usare per gestire non solo SQL Server ma anche il database SQL di Azure. Potrebbe non essere lo strumento più user-friendly in circolazione ma, dato il suo prezzo, potrebbe valere la pena guardarlo.

4. EverSQL

EverSQL è interessante in quanto è uno dei pochi strumenti di ottimizzazione SQL online. Gli amministratori possono utilizzare questo strumento per ottenere consigli sull'ottimizzazione delle query e suggerimenti per il miglioramento dell'indicizzazione. Supporto database in EverSQL è alquanto limitato. Tuttavia, supporta i più popolari motori di database a pagamento, gratuiti e open source tra cui MSSQL, Oracle, MySQL, MariaDB e PerconaDB. Infatti, poiché questo è uno strumento offline che non ha alcuna connessione con il tuo database, potrebbe, in teoria, ottimizzare e query SQL ma farà un lavoro migliore se sa che tipo di motore di database elaborerà l'ottimizzato interrogazione.

Schermata EverSQL

Usare lo strumento è semplicissimo. Ti connetti al sito, selezioni il tipo e la versione del database e incolli il codice della query SQL. Per ottenere consigli sull'indicizzazione e consentire allo strumento di applicare trasformazioni di query avanzate, è possibile caricare facoltativamente la struttura dello schema del database. Fai clic su "Avanti" e in pochi secondi ottieni la versione ottimizzata della tua query insieme ad alcuni consigli sull'indicizzazione.

EverSQL Tuttavia, non esegue solo ottimizzazioni delle query. Sono offerti anche alcuni altri strumenti online gratuiti e utili. C'è, ad esempio, un controllo e convalida della sintassi delle query SQL, un minificatore di query per istruzioni SQL e un formattatore di query.

La struttura dei prezzi di EverSQL è semplice. Puoi scegliere un piano gratuito che ti offre un'ottimizzazione gratuita della query al giorno per 30 giorni. Questo è il piano di prova. Successivamente, hai il piano Basic a $ 29 al mese che include 10 ottimizzazioni mensili e il piano Plus a $ 135 al mese con 30 ottimizzazioni al mese e supporto per chat dal vivo. È inoltre possibile organizzare piani personalizzati per soddisfare le vostre esigenze specifiche.

5. Esploratore di piani SentryOne

Esplora piani è uno strumento gratuito di SentryOne. È uno dei migliori strumenti di analisi e ottimizzazione delle query SQL. Questo strumento può aiutarti a raggiungere rapidamente la radice dei problemi di query di SQL Server più complessi. È composto da più moduli. L'analisi dell'indice utilizza algoritmi di punteggio per aiutarti a determinare l'indice migliore per supportare una determinata query. È possibile visualizzare facilmente gli indici consigliati, creare e modificare indici e rilevare e aggiornare le vecchie statistiche.

Il modulo di analisi delle statistiche mostra l'impatto dei parametri di query compilati e di runtime sulle prestazioni. Ciò consente di individuare rapidamente l'asimmetria dei dati che può contribuire a problemi di sniffing dei parametri, visualizzare potenziali problemi chiave ascendenti e identificare opportunità per indici filtrati.

Schermata Esplora piano

Il modulo Profilazione e riproduzione delle prestazioni delle query riprodurrà le query e accederà alle statistiche sulle prestazioni in tempo reale. Utilizzando questo strumento, è possibile riprodurre il profilo della query per vedere esattamente quali operatori stanno caricando maggiormente le risorse di sistema. Non è necessario eseguire nuovamente la query.

Sebbene la maggior parte degli ottimizzatori di query SQL utilizzi il costo del piano stimato, Esplora piani può visualizzare i costi effettivi osservati. E puoi vedere la differenza di costo alternando la visualizzazione tra Stimato e Effettivo. Ci sono più funzionalità di questo strumento gratuito di quanto abbiamo tempo per presentarle. Ma dal momento che è uno strumento gratuito, forse vorrai provarlo e vedere di persona.

6. dbForge Studio per SQL Server

Devart'S dbForge Studio per server SQL è uno strumento GUI all-in-one per server SQL che può essere utilizzato per la gestione, l'amministrazione, lo sviluppo, il reporting dei dati, l'analisi, l'ottimizzazione e altro ancora di SQL Server. Gli sviluppatori SQL e gli amministratori di database possono utilizzare lo strumento GUI per accelerare quasi tutte le attività di database complesse come la progettazione database, scrivere codice SQL, confrontare database, sincronizzare schemi e dati, generare dati di test significativi, tra gli altri.

Panoramica sull'amministrazione di dbForge Studio per SQL Server

dbForge Studio per server SQL include il Strumento per il piano di query SQL, uno strumento di ottimizzazione delle query dedicato. La sua funzionalità di diagramma del piano di esecuzione consente di visualizzare e ottimizzare il piano di esecuzione delle query individuando i nodi a esecuzione lenta. La scheda Statistiche di attesa dello strumento ti consente di rilevare facilmente potenziali colli di bottiglia nella tua query visualizzando un elenco di eventi e attese ad essi associati. È inoltre possibile utilizzare l'albero del piano dello strumento per ottenere informazioni su come SQL Server esegue un'istruzione SELECT. Ti mostrerà dove l'aggiunta di un indice a una tabella o l'ottimizzazione dell'unione di tabelle, ad esempio, potrebbe aumentare le prestazioni.

Lo strumento, noto anche come T-SQL Query Profiler, è integrato nelle versioni Standard, Professional ed Enterprise di dbForge Studio per SQL server che hanno un prezzo rispettivamente di $ 249,95, $ 499,95 e $ 699,95. È disponibile una prova gratuita di 30 giorni dell'intero prodotto, non solo dello strumento di ottimizzazione delle query.

watch instagram story