I dati sono tutto e, di conseguenza, SQL lo èovunque. Structured Query Language è diventato il linguaggio di query più utilizzato ed è supportato dalla maggior parte dei 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 richiesti. Data la molteplicità dei database moderni condozzine di tabelle unite, le query SQL possono essere piuttosto complesse. Con ulteriore complessità viene ridotta la prestazione. L'ottimizzazione delle query SQL consente di ottimizzare 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 consentono di ottimizzarle. Stiamo per esaminare alcuni dei migliori strumenti che abbiamo trovato.
Dal momento che vogliamo che tutti siano sulla stessa pagina diesamineremo i migliori prodotti, inizieremo discutendo il cosa e il timido dell'ottimizzazione delle query SQL. Quindi, discuteremo le caratteristiche principali degli strumenti di ottimizzazione delle query SQL. Diversi strumenti offrono funzionalità diverse, come stai per vedere. Faremo del nostro meglio per risolvere le caratteristiche essenziali che dovresti cercare quando scegli lo strumento migliore per le tue esigenze specifiche. E infine, esamineremo gli strumenti migliori che siamo riusciti a trovare.
Ottimizzazione delle query SQL, cosa e perché
In poche parole, l'ottimizzazione delle query SQL è l'atto dianalisi delle query SQL e determinazione del meccanismo di esecuzione più efficiente. È spesso un processo di prova ed errore in cui vengono testate diverse query per vedere quale offre le migliori prestazioni, pur restituendo i dati ricercati. Gli ottimizzatori di query sono talvolta integrati nei sistemi di gestione del database, ma si ritiene 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. Vengono misurate le prestazioni (ovvero il tempo di esecuzione) di ciascuna e viene selezionato e utilizzato il piano di query più efficiente 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 breve esempio di ottimizzazione delle query. Se un utente esegue una query che seleziona circa metà dei dati di una tabella in un momento in cui il server è pesantemente incaricato di più connessioni simultanee. In una situazione del genere, Query Optimizer 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, Query Optimizer avrebbe potuto determinare che la limitazione delle risorse non era un problema e non utilizzare gli indici di tabella, caricando l'intera tabella in memoria.
Caratteristiche principali degli strumenti di ottimizzazione delle query SQL
Come abbiamo stabilito, la funzione principale di un SQLLo strumento Strumento per ottimizzare le query è quello di provare a determinare il modo migliore per eseguire la query analizzando diversi piani di query. Tutti gli strumenti recensiti qui saranno almeno per quello, ma alcuni offrono molte più funzionalità. Diamo un'occhiata ad alcune delle principali funzionalità che si trovano comunemente negli strumenti di ottimizzazione delle query SQL.
Ottimizzazione SQL di base
Questa è la funzionalità principale di SQL QueryStrumenti di ottimizzazione. È 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 quello che esegue il più veloce.
Supporto del motore di database
La maggior parte degli strumenti supporterà almeno i più comunimotori di database come Microsoft SQL, Oracle, MySQL, PostgreSQL e MariaDB. Altri supporteranno una selezione più ampia e altri ancora sosterranno 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 farloanalizzare e ottimizzare database ospitati su 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. Si noti che la maggior parte degli strumenti che supportano database cloud supporterà anche quelli locali.
I migliori strumenti e software di ottimizzazione delle query SQL
È finalmente giunto il momento di rivelare — erecensione: i migliori strumenti e software di ottimizzazione delle query SQL che siamo riusciti a trovare. La nostra lista ha molti tipi diversi di strumenti, ognuno dei quali porta la sua svolta all'ottimizzazione. I nostri principali criteri di inclusione erano che ogni prodotto almeno aiutava a ottimizzare manualmente le query SQL - la maggior parte lo fanno automaticamente - e che funzionavano come pubblicizzato. Non vorremmo farti perdere tempo con prodotti che non fanno ciò che dovrebbero.
1. Analizzatore delle prestazioni del database SolarWinds (Prova gratuita)
Il nostro primo prodotto proviene da SolarWinds, un'aziendache ha goduto di un'ottima reputazione per aver realizzato alcuni dei migliori strumenti di gestione di reti e sistemi per gran parte dei suoi vent'anni di esistenza. Il suo prodotto di punta chiamato SolarWinds Network Performance Monitor è considerato 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 indirizzato a un compito specifico degli amministratori di rete. Due esempi eccellenti di questi strumenti sono il calcolatore subnet avanzato e il server kiwi syslog.
Per l'ottimizzazione delle query SQL, tuttavia, è necessario Analizzatore delle prestazioni del database (DPA) di SolarWinds, uno strumento di gestione del database creato per query SQLmonitoraggio, analisi e messa a punto delle prestazioni. Monitora e analizza le istanze del database SQL e, utilizzando un metodo di analisi del tempo di risposta che focalizza l'attenzione sul tempo tra una richiesta di query e la risposta corrispondente dal database, analizza i tipi di attesa e gli eventi per individuare i colli di bottiglia dei database.
- 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 problemipresenta un'interfaccia facile da usare che ti aiuterà a trovare i problemi in modo rapido e semplice. La schermata principale consente di visualizzare istanze del database, tempi di attesa, consigli sulle query, CPU (con avvisi e avvisi critici), memoria, disco e sessioni.
Quando si esegue il drill down, il dashboard di tendenza di aun'istanza specifica del database mostra in formato grafico i tempi di attesa totali (o la scelta dei tempi di attesa giornalieri medi o tipici) per gli utenti nel corso di un mese. Su quel grafico, ogni colore rappresenta una singola istruzione SQL, offrendo una rappresentazione visivamente accattivante di quale istruzione richiede più tempo per l'esecuzione.
Mentre questo prodotto non è una vera query SQLstrumenti di ottimizzazione, alcune delle sue funzioni possono aiutarti. Ad esempio, è in grado di monitorare e misurare i tempi di esecuzione delle query e fornirà anche alcuni consigli di ottimizzazione, anche se tende a essere correlato alla configurazione del database piuttosto che al codice della query.
Il prezzo per il Analizzatore delle prestazioni del database SolarWinds inizia a $ 1 995 e varia in base alnumero e tipo di istanze del database da monitorare. Se si desidera eseguire un test del prodotto prima di acquistarlo, è disponibile una versione di prova di 14 giorni completamente funzionale.
2. Sintonizzatore query SQL per Gestione diagnostica SQL
Il Gestione diagnostica SQL è uno dei migliori strumenti di monitoraggio del database disponibili. Ma quando si completa con il Sintonizzatore di query SQL, quello che ottieni è una delle migliori query SQLstrumenti di ottimizzazione. I suoi benefici 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 mediante test di carico in ambienti di produzione simulati.
Il Sintonizzatore query SQL identificherà rapidamente e facilmente le query SQLcausare scarse prestazioni del database tramite la profilazione del database e visualizzare una visualizzazione grafica dell'analisi dei tempi di attesa. Monitorerà un'intera fonte di dati in un arco di tempo configurabile con profilazione continua. Come risultato, acquisirai una migliore comprensione di come SQL Server prevede di eseguire query SQL e i vari costi delle prestazioni.
Questo strumento presenterà generato automaticamentesoluzioni suggerite con la procedura guidata di ottimizzazione delle query SQL che forniscono un contesto essenziale per l'ottimizzazione delle query SQL. È dotato di analisi dell'indice con codice colore degli indici usati, non utilizzati e mancanti con raccomandazioni per prestazioni ottimali. È possibile generare possibili casi e trovare la migliore alternativa a una determinata istruzione SQL includendo riscritture di query SQL e iniezioni di suggerimenti.
Il Sintonizzatore query SQL presenta diagrammi di ottimizzazione query SQL visivi uniciche consente di comprendere l'impatto delle istruzioni SQL sul database utilizzando i diagrammi anziché piani di esecuzione complicati. Gli indici e i vincoli su tabelle e viste vengono visualizzati con statistiche di tabella e i join utilizzati in un'istruzione SQL (come join cartesiani, join cartesiani impliciti e relazioni molti-a-molti) con i diagrammi.
Verificare le prestazioni di esistenti equery SQL alternative sul database tramite test di carico. Configurare le query SQL per l'esecuzione più volte in parallelo e per osservare come rispondono agli ambienti di produzione simulati senza il rischio di testare effettivamente in produzione. Utilizzando questo strumento, è possibile ottimizzare le query SQL con prestazioni scarse per SQL Server da un'interfaccia intuitiva.
Il Sintonizzatore query SQL è un componente aggiuntivo di Gestione diagnostica SQL. Se non possiedi già quel prodotto, entrambi possono essere acquistati insieme come SQL Diagnostic Manager Pro per $ 2 156 per licenza è disponibile anche una versione di 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, che è stato 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 funzionano con oggetti e funzionalità del servizio. Quello che potresti non sapere è che uno degli strumenti di SSMS, il Advisor di ottimizzazione del motore di database di SQL Server (DTA) può essere utilizzato per l'ottimizzazione delle query SQL.
Lo scopo principale del DTA è l'analisi dei databasee dare raccomandazioni. Secondo la documentazione ufficiale di Microsoft, lo strumento può aiutarti a risolvere le prestazioni di una specifica query di problemi, ottimizzare una vasta serie di query su uno o più database, eseguire un'analisi what-if esplorativa di potenziali modifiche alla progettazione fisica e gestire lo spazio di archiviazione.
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 là fuori 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 sul miglioramento dell'indicizzazione. Supporto database in EverSQL è piuttosto limitato. Supporta, tuttavia, i più diffusi motori di database a pagamento e gratuiti e open source tra cui MSSQL, Oracle, MySQL, MariaDB e PerconaDB. In realtà, poiché si tratta di uno strumento offline che non ha alcuna connessione al database, in teoria potrebbe ottimizzare e interrogare SQL ma farà un lavoro migliore se sa quale tipo di motore di database elaborerà la query ottimizzata.
L'uso dello strumento è semplicissimo. Ti connetti al sito, selezionare il tipo e la versione del database e incollare il codice di query SQL. Per ottenere consigli sull'indicizzazione e consentire allo strumento di applicare trasformazioni di query avanzate, puoi facoltativamente caricare la struttura dello schema del tuo database. Fai clic su "Avanti" e in pochi secondi ottieni la versione ottimizzata della query insieme ad alcuni consigli di indicizzazione.
EverSQL non solo ottimizza le query, però. Alcuni altri strumenti online gratuiti e utili sono anche offerti. Esistono, ad esempio, un controllo e un validatore di sintassi di 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 delle query gratuita al giorno per 30 giorni. Questo è il piano di prova. Successivamente, hai il piano di base a $ 29 / mese che include 10 ottimizzazioni mensili e il piano Plus a $ 135 / mese con 30 ottimizzazioni al mese e supporto per la chat dal vivo. È inoltre possibile organizzare piani personalizzati per soddisfare le esigenze specifiche.
5. SentryOne Plan Explorer
Plan Explorer è uno strumento gratuito di SentryOne. È una delle migliori analisi di query SQL estrumenti di ottimizzazione. Questo strumento consente di accedere rapidamente alla radice dei problemi di query di SQL Server più difficili. È composto da diversi moduli. L'analisi dell'indice utilizza algoritmi di calcolo del 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 vecchie statistiche.
Il modulo di analisi delle statistiche mostra ilimpatto dei parametri di query compilati e di runtime sulle prestazioni. Ciò consente di individuare rapidamente un'inclinazione dei dati che può contribuire a problemi di sniffing dei parametri, visualizzare potenziali problemi chiave ascendenti e identificare opportunità per indici filtrati.
Profilazione e riproduzione delle queryil modulo riprodurrà le query e accederà alle loro statistiche sulle prestazioni dal vivo. Utilizzando questo strumento, è possibile riprodurre il profilo della query per vedere esattamente quali operatori stanno aggiungendo il maggior carico sulle risorse di sistema. Non è necessario eseguire nuovamente la query.
Mentre la maggior parte degli ottimizzatori di query SQL utilizza il costo del piano stimato, Plan Explorer può visualizzare i costi effettivamente osservati. E puoi vedere la differenza di costo alternando la vista tra Stimato e Reale. Ci sono più funzionalità di questo strumento gratuito di quanto non abbiamo tempo per presentarle. Ma dal momento che è uno strumento gratuito, forse vorrai provarlo e vederlo di persona.
6. dbForge Studio per SQL Server
Devart'S dbForge Studio per server SQL è uno strumento GUI SQL Server all-in-one che può essereutilizzato per gestione, amministrazione, sviluppo, reportistica dei dati, analisi, ottimizzazione di SQL Server e altro ancora. Gli sviluppatori SQL e gli amministratori di database possono utilizzare lo strumento GUI per accelerare quasi tutte le attività di database complessi come la progettazione di database, la scrittura di codice SQL, il confronto di database, la sincronizzazione di schemi e dati, la generazione di dati di test significativi, tra gli altri.
dbForge Studio per server SQL include il Strumento piano query SQL, uno strumento di ottimizzazione delle query dedicato. La funzionalità del diagramma del piano di esecuzione consente di visualizzare e ottimizzare il piano di esecuzione della query individuando i nodi a esecuzione lenta. La scheda Statistiche di attesa dello strumento consente di rilevare facilmente potenziali colli di bottiglia nella 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 della giunzione delle tabelle, ad esempio, potrebbe migliorare le prestazioni.
Lo strumento, noto anche come Profiler di query T-SQL, è integrato in Standard, Professionale eVersioni aziendali del server dbForge Studio per SQL al prezzo di $ 249,95, $ 499,95 e $ 699,95, rispettivamente. È disponibile una prova gratuita di 30 giorni dell'intero prodotto, non solo dello strumento di ottimizzazione delle query.
Commenti