Datele sunt totul și, în consecință, SQL estepretutindeni. Limbajul de interogare structurat a devenit cel mai folosit limbaj de interogare și este susținut de cele mai moderne sisteme de gestionare a bazelor de date relaționale moderne. De fapt, utilizarea sa este atât de răspândită încât deseori ne referim la serverele de baze de date ca servere SQL. Limba definește modul în care pot fi formate interogări pentru a extrage dintr-o bază de date datele precise care sunt necesare. Având în vedere multiplicitatea bazelor de date moderne cuzeci de tabele unite, interogările SQL pot fi destul de complexe. Cu o complexitate suplimentară vine performanța redusă. Optimizarea interogărilor SQL permite ajustarea interogărilor, astfel încât acestea să returneze datele corecte cât mai repede posibil. Optimizarea interogărilor SQL se poate face manual, dar există instrumente care să ajute la optimizarea acestora. Urmează să trecem în revistă unele dintre cele mai bune instrumente pe care le-am găsit.
De vreme ce dorim ca toată lumea să fie pe aceeași pagină ca șianalizăm cele mai bune produse, vom începe discutând ce și timiditatea optimizării interogărilor SQL. Apoi, vom discuta principalele caracteristici ale instrumentelor de optimizare a interogărilor SQL. Diferite instrumente oferă funcții diferite, așa cum urmează să vedeți. Vom face tot posibilul pentru a selecta caracteristicile esențiale pe care ar trebui să le căutați atunci când alegeți cel mai bun instrument pentru nevoile dvs. specifice. Și, în sfârșit, vom examina cele mai bune instrumente pe care le-am putea găsi.
Optimizarea interogărilor SQL, Ce și de ce
Mai simplu spus, optimizarea interogării SQL este actulanaliza interogări SQL și determinarea celui mai eficient mecanism de execuție. Adesea este un proces de încercare și eroare în care sunt testate diferite întrebări pentru a vedea care oferă cele mai bune performanțe, în timp ce se returnează în continuare datele căutate. Optimizatoarele de interogare sunt uneori încorporate în sisteme de administrare a bazelor de date, dar instrumentele externe, terțe părți, sunt deseori gândite să ofere rezultate mai bune. Un optimizator de interogare tipic va genera unul sau mai multe planuri de interogare pentru fiecare interogare, fiecare dintre acestea fiind un mecanism folosit pentru a rula interogarea. Performanța (adică timpul de execuție) a fiecăruia este măsurată și cel mai eficient plan de interogare este selectat și utilizat pentru a rula interogarea. În timp ce unele instrumente de optimizare a interogărilor SQL sunt aplicații de ajutor mai simple care necesită multă asistență umană, cele mai bune sisteme își desfășoară cea mai mare parte a activității în fundal.
Iată un exemplu rapid de optimizare a interogărilor. Dacă un utilizator execută o interogare care selectează aproximativ jumătate din datele unei tabele la un moment în care serverul este încărcat cu mai multe conexiuni simultane. Într-o astfel de situație, optimizatorul de interogare ar putea decide să utilizeze un plan de interogare care folosește indexurile tabelelor pentru a satisface interogarea, pe baza resurselor limitate. Dacă faceți acest lucru, puteți reduce scurgerea interogării pe resursele serverului. Dacă utilizatorul a executat aceeași interogare într-un alt moment, când au fost disponibile mai multe resurse de server, optimizatorul de interogări ar fi putut determina că limitarea resurselor nu este o problemă și nu ar folosi indici de tabel, încărcând în memorie tabelul complet.
Caracteristici principale ale instrumentelor de optimizare a interogărilor SQL
După cum am stabilit, funcția principală a unui SQLInstrumentul de optimizare a interogărilor constă în încercarea de a determina cel mai bun mod de a rula interogarea prin analizarea diferitelor planuri de interogare. Toate instrumentele analizate aici vor fi cel puțin la asta, dar unele oferă mult mai multe funcționalități. Să aruncăm o privire la unele dintre principalele caracteristici întâlnite frecvent în instrumentele de optimizare a interogărilor SQL.
Reglaj SQL de bază
Aceasta este funcționalitatea de bază a interogării SQLInstrumente de optimizare. Este procesul de re-scriere a instrucțiunilor SQL în mod diferit, cu scopul de a îmbunătăți performanța interogării, obținând totodată același set de date rezultat. Instrumentul funcționează prin măsurarea timpului de execuție al interogărilor din diversele versiuni ale interogării (planuri de interogare) și alegerea celei care execută cel mai rapid.
Suport motor de baze de date
Majoritatea instrumentelor vor susține cel puțin cele mai comunemotoarele de baze de date precum Microsoft SQL, Oracle, MySQL, PostgreSQL și MariaDB. Alții vor susține o selecție mai largă, iar alții vor susține doar una. Este important să alegeți un instrument care să poată suporta toate motoarele pe care le utilizați,
Suport de baze de date bazat pe cloud
Unele instrumente de optimizare a interogărilor SQL sunt capabileanalizați și optimizați bazele de date găzduite de cloud, cum ar fi Microsoft SQL Azure sau AWS RDS. Suportul cloud variază mult de la instrument la instrument. Din nou, este important să alegeți unul care acceptă ceea ce aveți. Rețineți că majoritatea instrumentelor care acceptă bazele de date cloud vor suporta și cele locale.
Cele mai bune instrumente și software de optimizare a interogărilor SQL
În sfârșit a sosit momentul să dezvăluim - șirevizuire - cele mai bune instrumente și software de optimizare a interogărilor SQL pe care le-am putea găsi. Lista noastră are multe tipuri diferite de instrumente, fiecare aducându-și propria răsucire la optimizare. Principalele noastre criterii de includere au fost acela că fiecare produs a ajutat cel puțin la optimizarea manuală a interogărilor SQL - majoritatea o fac automat - și că au funcționat ca reclamă. Nu am dori să vă pierdeți timp cu produse care nu vor face ceea ce ar trebui.
1. SolarWinds Database Database Analyzer (Încercare gratuită)
Primul nostru produs este de la SolarWinds, o companiecare s-a bucurat de o excelentă reputație de a face unele dintre cele mai bune instrumente de gestionare a rețelei și a sistemelor pentru cei mai mulți dintre cei douăzeci de ani ai existenței. Produsul său principal numit SolarWinds Network Performance Monitor este considerat de mulți drept unul dintre cele mai bune software de monitorizare a lățimii de bandă a rețelei. Unele dintre faima SolarWinds provin și din numeroasele instrumente gratuite pe care le oferă. Sunt instrumente mai mici, fiecare adresându-se unei sarcini specifice ale administratorilor de rețea. Două exemple excelente ale acestor instrumente sunt Calculatorul de subrețea avansat și Kiwi Syslog Server.
Pentru optimizarea SQL Query, ceea ce aveți nevoie este totuși SolarWinds Database Database Analyzer (DPA), un instrument de gestionare a bazelor de date creat pentru interogarea SQLmonitorizarea performanței, analiza și reglarea. Monitorizează și analizează instanțele bazei de date SQL și, folosind o metodă de analiză a timpului de răspuns, care pune accentul principal pe timpul dintre solicitările de interogare și răspunsul corespunzător din baza de date, analizează tipurile și evenimentele de așteptare pentru a identifica blocajele bazelor de date.
- ÎNCERCARE GRATUITĂ: SolarWinds Database Database Analyzer
- Link de descărcare: https://www.solarwinds.com/database-performance-analyzer
Instrumentul, care este de asemenea excelent pentru depanaredispune de o interfață ușor de utilizat, care vă va ajuta să găsiți probleme rapid și ușor. Ecranul principal vă va permite să vizualizați instanțele bazei de date, timpii de așteptare, sfaturi de interogare, procesor (cu avertizare și alerte critice), memorie, disc și sesiuni.
Când găuriți, tabloul de bord cu tendințe al unuiInstanța specifică a bazei de date vă arată într-un format grafic timpul total de așteptare (sau alegerea timpului de așteptare mediu sau tipic al zilei) pentru utilizatori pe parcursul unei luni. Pe acel grafic, fiecare culoare reprezintă o instrucțiune SQL individuală, oferindu-vă o reprezentare atrăgătoare vizual a cărei instrucțiune durează cel mai mult timp pentru a fi rulată.
Deși acest produs nu este o interogare SQL adevăratăinstrumente de optimizare, unele dintre funcțiile sale vă pot ajuta în acest sens. De exemplu, poate monitoriza și măsura timpul de execuție al interogării și va oferi, de asemenea, câteva sfaturi de ajustare, deși tinde să fie legat de configurația bazei de date, mai degrabă decât de codul de interogare.
Prețul pentru SolarWinds Database Database Analyzer începe de la 1 995 USD și variază în funcție denumărul și tipul instanțelor bazei de date de monitorizat. Dacă doriți să oferiți produsului o probă de testare înainte de a-l achiziționa, este disponibilă o versiune de încercare de 14 zile complet funcțională.
2. Tuner de interogare SQL pentru SQL Diagnostic Manager
În Manager de diagnostic SQL este unul dintre instrumentele de top de monitorizare a bazelor de date disponibile. Dar când o completăm cu Tuner de interogare SQL, ceea ce obțineți este una dintre cele mai bune interogări SQLinstrumente de optimizare. Beneficiile sale sunt multiple. Identifică interogări SQL problematice prin profilarea bazei de date a analizei timpului de așteptare. De asemenea, vă poate oferi recomandări de reglare generate automat cu ajutorul expertului de ajustare interogare SQL. Instrumentul va verifica performanța interogărilor SQL prin testarea încărcării în medii de producție simulate.
În Tuner de interogare SQL va identifica rapid și ușor interogările SQL careprovoacă performanțe slabe ale bazei de date prin profilarea bazelor de date și afișează o vizualizare grafică a analizei timpului de așteptare. Acesta va monitoriza o întreagă sursă de date într-un interval configurabil de timp cu profilare continuă. Ca rezultat, veți obține o mai bună înțelegere a modului în care SQL Server intenționează să execute interogări SQL și a diferitelor costuri de performanță.
Acest instrument va prezenta automat generatsoluții sugerate cu ajutorul expertului de ajustare a interogărilor SQL care oferă un context esențial pentru ajustarea interogărilor SQL. Dispune de o analiză a codurilor de culori a indexurilor utilizate, care nu sunt utilizate și lipsă, cu recomandări pentru performanțe optime. Puteți genera cazuri posibile și puteți găsi cea mai bună alternativă la o instrucțiune dată SQL, incluzând rescrieri de interogare SQL și injecții de indicii.
În Tuner de interogare SQL prezintă diagrame unice de ajustare a interogărilor SQLcare vă permit să înțelegeți impactul instrucțiunilor SQL asupra bazei de date folosind diagramele în loc de planuri de execuție complicate. Indicele și constrângerile de pe tabele și vizualizări sunt afișate cu statistici de tabel, iar îmbinările utilizate într-o instrucțiune SQL (cum ar fi unirile carteziene, implicările cartierilor alăturați și relațiile multe la multe) cu diagramele.
Verificați performanța celor existente șiinterogări SQL alternative împotriva bazei de date prin testarea sarcinii. Configurați interogările SQL pentru a rula de mai multe ori în paralel și pentru a observa modul în care acestea răspund la mediile de producție simulate, fără riscul de testare efectivă în producție. Utilizând acest instrument, puteți regla interogări SQL slab performante pentru SQL Server dintr-o interfață intuitivă.
În Tuner de interogare SQL este un supliment la Manager de diagnostic SQL. Nu dețineți deja acel produs, ambele pot fi achiziționate împreună ca SQL Diagnostic Manager Pro pentru 2 156 USD pe licență, un proces de 14 zile gratuit, fără card de credit, este disponibil și de la vânzătorul produsului
3. SQL Server Management Studio
Dacă serverul dvs. de bază de date este un Microsoft SQL Server, probabil un instrument propriu Microsoft, SQL Server Management Studio (SSMS), e tot ce ai nevoie. După cum știți, instrumentul - lansat pentru prima dată cu Microsoft SQL Server 2005 - este utilizat pentru configurarea, administrarea și administrarea tuturor componentelor din Microsoft SQL Server. Include atât editori de script, cât și instrumente grafice care lucrează cu obiecte și caracteristici ale servirii. Ceea ce este posibil să nu știți este că unul dintre instrumentele SSMS, Consilier de optimizare a bazei de date SQL Server (DTA) poate fi utilizat pentru optimizarea interogării SQL.
Scopul principal al DTA este analizarea bazelor de dateși dând recomandări. Conform documentației oficiale Microsoft, instrumentul vă poate ajuta să depanați performanța unei interogări cu probleme specifice, să reglați un set mare de interogări în una sau mai multe baze de date, să efectuați o analiză exploratorie a modificărilor potențiale ale designului fizic și să gestionați spațiul de stocare.
Unul dintre cele mai bune lucruri despre SQL Server Management Studio este prețul său. Acesta este un instrument gratuit de la Microsoft pe care îl puteți utiliza pentru gestionarea nu numai a SQL Server, ci și a bazei de date SQL Azure. S-ar putea să nu fie cel mai ușor instrument de utilizare, dar, având în vedere prețul său, ar putea merita să te uiți.
4. EverSQL
EverSQL este interesant, deoarece este unul dintre puținele instrumente de optimizare SQL online. Administratorii pot utiliza acest instrument pentru a primi recomandări de ajustare a interogărilor și sugestii de îmbunătățire a indexării. Suport de baze de date în EverSQL este oarecum limitat. Cu toate acestea, sprijină cele mai populare motoare de baze de date cu plată și gratuit și gratuit, inclusiv MSSQL, Oracle, MySQL, MariaDB și PerconaDB. De fapt, întrucât acesta este un instrument offline care nu are nicio legătură cu baza de date, ar putea, teoretic, să optimizeze și să interogeze SQL, dar va face o treabă mai bună dacă știe ce tip de motor de bază de date va procesa interogarea optimizată.
Utilizarea instrumentului este super simplă. Vă conectați la site, selectați tipul și versiunea bazei de date și lipiți codul de interogare SQL. Pentru a obține recomandări de indexare și pentru a permite instrumentului să aplice transformări avansate de interogare, puteți încărca opțional structura de schemă a bazei de date. Faceți clic pe „Următorul” și în câteva secunde veți primi versiunea optimizată a interogării dvs. împreună cu câteva recomandări de indexare.
EverSQL nu face doar optimizări de interogare. Sunt oferite și alte câteva instrumente online gratuite și utile. Există, de exemplu, o verificare și validare a sintaxei de interogare SQL, un miner de interogare pentru declarații SQL și un formatator de interogări.
Structura prețurilor din EverSQL este simplu. Aveți de ales un plan gratuit care vă oferă o optimizare gratuită a interogărilor pe zi, timp de 30 de zile. Acesta este planul de încercare. În continuare, aveți planul de bază la 29 USD / lună, care include 10 optimizări lunare și planul Plus la 135 dolari / lună, cu 30 de optimizări pe lună și suport pentru chat live. Planurile personalizate pot fi, de asemenea, aranjate pentru a satisface nevoile dvs. specifice.
5. Explorator de plan SentryOne
Planifică Explorer este un instrument gratuit din SentryOne. Este una dintre cele mai bune analize de interogare SQL șiinstrumente de optimizare. Acest instrument vă poate ajuta să ajungeți rapid la rădăcina celor mai dificile probleme de interogare SQL Server. Este format din mai multe module. Analiza indexului folosește algoritmi de notare pentru a vă ajuta să determinați cel mai bun index pentru a susține o interogare dată. Puteți vizualiza cu ușurință indexurile recomandate, crea și modifica indexuri și detecta și actualiza statistici vechi.
Modulul de analiză a statisticilor vă aratăimpactul parametrilor de interogare compilate și runtime asupra performanței. Acest lucru vă permite să observați rapid variația de date care poate contribui la problemele de adulmecare a parametrilor, vizualiza potențialele probleme cheie ascendente și identifică oportunitățile pentru indexurile filtrate.
Profilarea și redarea performanței interogăriimodulul va reda interogările și le va accesa statisticile de performanță în direct. Utilizând acest instrument, puteți reda profilul de interogare pentru a vedea exact ce operatori adaugă cea mai mare încărcare pe resursele sistemului. Nu este nevoie să rulați din nou interogarea.
Deși majoritatea optimizatorilor de interogare SQL folosesc costul estimat al planului, Planifică Explorer poate afișa costurile reale observate. Și puteți vedea diferența de costuri comutând vizualizarea dintre Estimat și Actual. Acest instrument gratuit are mai multe caracteristici decât avem timp să le prezentăm. Dar, deoarece este un instrument gratuit, probabil că veți dori să încercați și să vedeți pentru voi.
6. dbForge Studio pentru SQL Server
Devart„s dbForge Studio pentru server SQL este un instrument de GUI pentru toate serverele SQL care poate fiutilizat pentru managementul SQL Server, administrare, dezvoltare, raportare de date, analiză, optimizare și multe altele. Dezvoltatorii SQL și administratorii bazelor de date pot utiliza instrumentul GUI pentru a accelera aproape orice sarcini complexe ale bazelor de date, cum ar fi proiectarea bazelor de date, scrierea codului SQL, compararea bazelor de date, sincronizarea schemelor și a datelor, generarea de date de test semnificative, printre altele.
dbForge Studio pentru server SQL include Instrument de plan de interogare SQL, un instrument dedicat de optimizare a interogărilor. Caracteristica sa de diagrama planului de execuție ajută la vizualizarea și reglarea planului de execuție a interogărilor prin identificarea nodurilor cu executare lentă. Fila Stare de așteptare a instrumentului vă permite să detectați cu ușurință blocajele potențiale potențiale din interogarea dvs. afișând o listă de evenimente și așteptări asociate acestora. De asemenea, pot folosi arborele de planuri al instrumentului pentru a obține informații despre modul în care SQL Server execută o instrucțiune SELECT. Vă va arăta unde adăugarea unui index la o tabelă sau optimizarea îmbinării tabelelor, de exemplu, ar putea crește performanța.
Instrumentul, care este cunoscut și ca T-SQL Query Profiler, este încorporat în Standard, Profesional șiVersiuni Enterprise ale serverului dbForge Studio pentru SQL, care au un preț de 249,95 USD, 499,95 USD, respectiv 699,95 USD. Un proces gratuit de 30 de zile pentru întregul produs - nu doar instrumentul de optimizare a interogărilor - este disponibil.
Comentarii