6 cele mai bune instrumente de optimizare a interogărilor SQL din 2020

click fraud protection

Datele sunt totul și, în consecință, SQL este peste tot. Structured Query Language a devenit cel mai folosit limbaj de interogare și este susținut de majoritatea sistemelor moderne de gestionare a bazelor de date relaționale. De fapt, utilizarea sa este atât de răspândită încât adesea ne referim la serverele de baze de date ca servere SQL.

Limbajul definește modul în care interogările pot fi formate pentru a extrage dintr-o bază de date datele precise necesare. Având în vedere multiplicitatea bazelor de date moderne cu zeci de tabele unite, interogările SQL pot fi destul de complexe. Cu un plus de complexitate vine și performanța redusă. Optimizarea interogărilor SQL permite ajustarea fină a 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. Suntem pe cale să revizuim unele dintre cele mai bune instrumente pe care le-am găsit.

Întrucât dorim ca toată lumea să fie pe aceeași pagină în timp ce analizăm cele mai bune produse, vom începe prin a discuta despre ce și despre optimizarea interogărilor SQL. Apoi, vom discuta despre principalele caracteristici ale instrumentelor de optimizare a interogărilor SQL. Diferite instrumente oferă caracteristici diferite, așa cum sunteți pe cale să vedeți. Vom face tot posibilul pentru a rezolva caracteristicile esențiale pe care ar trebui să le căutați atunci când alegeți cel mai bun instrument pentru nevoile dumneavoastră specifice. Și, în sfârșit, vom analiza cele mai bune instrumente pe care le-am putut găsi.

instagram viewer

Optimizarea interogărilor în serverele SQL

Mai simplu spus, optimizarea interogărilor SQL este actul de analiză a interogărilor SQL și de a determina cel mai eficient mecanism de execuție. Este adesea un proces de încercare și eroare în care diferite interogări sunt testate pentru a vedea care dintre ele oferă cea mai bună performanță, returnând în același timp datele căutate. Optimizatoarele de interogări sunt uneori încorporate în sistemele de gestionare a bazelor de date, dar se consideră adesea că instrumentele externe terțe oferă rezultate mai bune de performanță. Un optimizator de interogare tipic va genera unul sau mai multe planuri de interogare pentru fiecare interogare, fiecare dintre acestea fiind un mecanism utilizat 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 fac cea mai mare parte a muncii în fundal.

Iată un exemplu rapid de optimizare a interogărilor. Dacă un utilizator execută o interogare care selectează aproximativ jumătate din datele unui tabel într-un moment în care serverul are sarcini grele cu mai multe conexiuni simultane. Într-o astfel de situație, optimizatorul de interogări ar putea decide să utilizeze un plan de interogări care utilizează indecșii tabelului pentru a satisface interogarea, pe baza resurselor limitate. Procedând astfel, se poate reduce consumul de interogări asupra resurselor serverului. Dacă utilizatorul a executat aceeași interogare într-un alt moment când erau disponibile mai multe resurse de server, optimizatorul de interogări ar putea am stabilit că limitarea resurselor nu a fost o problemă și nu au folosit indici de tabel, încărcând tabelul complet în memorie.

Principalele caracteristici ale instrumentelor de optimizare a interogărilor SQL

După cum am stabilit, funcția principală a unui instrument SQL Query Optimizer este de a încerca să determine cel mai bun mod de a rula interogarea analizând diferite planuri de interogare. Toate instrumentele examinate aici vor, cel puțin, dar unele oferă mult mai multe funcționalități. Să aruncăm o privire la unele dintre principalele caracteristici întâlnite în mod obișnuit în instrumentele de optimizare a interogărilor SQL.

Reglare SQL de bază

Aceasta este funcționalitatea de bază a instrumentelor de optimizare a interogărilor SQL. Este procesul de rescrie diferită a instrucțiunilor SQL, cu scopul de a îmbunătăți performanța interogării, obținând în același timp același set de date rezultat. Instrumentul funcționează prin măsurarea timpului de execuție a interogării diferitelor versiuni ale interogării (planuri de interogare) și alegerea celei care se execută cel mai rapid.

Suport pentru motorul bazei de date

Majoritatea instrumentelor vor suporta cel puțin cele mai comune motoare de baze de date, cum ar fi Microsoft SQL, Oracle, MySQL, PostgreSQL și MariaDB. Alții vor susține o selecție mai largă, iar alții vor sprijini doar una. Este important să alegeți un instrument care poate sprijini toate motoarele pe care le utilizați,

Suport pentru baze de date bazate pe cloud

Unele instrumente de optimizare a interogărilor SQL sunt capabile să analizeze și să optimizeze baze de date găzduite în cloud, cum ar fi Microsoft SQL Azure sau AWS RDS. Suportul în cloud variază foarte mult de la un instrument la altul. Din nou, este important să alegeți unul care să susțină ceea ce aveți. Rețineți că majoritatea instrumentelor care acceptă bazele de date în cloud le vor accepta și pe cele locale.

Cele mai bune instrumente și software de optimizare a interogărilor SQL

A sosit în sfârșit momentul să dezvăluim – și să revizuim – cele mai bune instrumente și software de optimizare a interogărilor SQL pe care le-am putut găsi. Lista noastră are multe tipuri diferite de instrumente, fiecare aducând propria lui întorsătură de optimizare. Principalele noastre criterii de includere au fost că fiecare produs a ajutat cel puțin la optimizarea manuală a interogărilor SQL - majoritatea o fac automat - și că funcționează așa cum se anunță. Nu am dori să vă facem să pierdeți timpul cu produse care nu vor face ceea ce ar trebui.

Primul nostru produs este de la SolarWinds, o companie care s-a bucurat de o reputație excelentă pentru realizarea unora dintre cele mai bune instrumente de gestionare a rețelelor și a sistemelor în majoritatea celor douăzeci de ani de existență. Produsul său emblematic numit SolarWinds Network Performance Monitor este văzut de mulți drept unul dintre cele mai bune software de monitorizare a lățimii de bandă a rețelei. O parte din faima SolarWinds vine și din numeroasele instrumente gratuite pe care le oferă. Sunt instrumente mai mici, fiecare adresându-se unei sarcini specifice a administratorilor de rețea. Două exemple excelente ale acestor instrumente sunt Advanced Subnet Calculator și Kiwi Syslog Server.

Pentru optimizarea interogărilor SQL, ceea ce aveți nevoie, totuși, este Analizor de performanță a bazei de date SolarWinds (DPA), un instrument de gestionare a bazelor de date construit pentru monitorizarea, analiza și reglarea performanței interogărilor SQL. Monitorizează și analizează instanțele bazei de date SQL și, folosind o metodă de analiză a timpului de răspuns, care pune accent principal pe timp între cererile de interogare și răspunsul corespunzător din baza de date, analizează tipurile de așteptare și evenimentele pentru a identifica blocajele baze de date.

Analizor de performanță a bazei de date SolarWinds
  • ÎNCERCARE GRATUITĂ: Analizor de performanță a bazei de date SolarWinds
  • Link de descărcare:https://www.solarwinds.com/database-performance-analyzer

Instrumentul, care este, de asemenea, excelent pentru depanare, are 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, CPU (cu avertismente și alerte critice), memorie, disc și sesiuni.

Când detaliați, tabloul de bord tendințe al unei anumite instanțe de bază de date vă arată într-un format grafic durata totală de așteptare (sau alegerea dvs. de timpi de așteptare medii sau tipici pentru o zi) pentru utilizatori pe parcursul unei luni. Pe acel grafic, fiecare culoare reprezintă o instrucțiune SQL individuală, oferindu-vă o reprezentare vizuală atractivă a instrucțiunii care durează cel mai mult timp pentru a rula.

Deși acest produs nu este un adevărat instrument de optimizare a interogărilor SQL, unele dintre funcțiile sale vă pot ajuta în acest sens. De exemplu, poate monitoriza și măsura timpul de execuție a interogării și va oferi, de asemenea, câteva sfaturi de reglare, deși tinde să fie legat de configurația bazei de date, mai degrabă decât de codul de interogare.

Pretul pentru Analizor de performanță a bazei de date SolarWinds începe de la 1 995 USD și variază în funcție de numărul și tipul de instanțe de bază de date de monitorizat. Dacă doriți să testați produsul înainte de a-l cumpăra, este disponibilă o versiune de probă complet funcțională de 14 zile.

2. SQL Query Tuner pentru SQL Diagnostic Manager

The Manager de diagnosticare SQL este unul dintre cele mai importante instrumente de monitorizare a bazei de date disponibile. Dar atunci când îl completăm cu Tuner de interogări SQL, ceea ce obțineți este unul dintre cele mai bune instrumente de optimizare a interogărilor SQL. Beneficiile sale sunt multiple. Identifică interogările 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 vrăjitorului de reglare a interogărilor SQL. Instrumentul va verifica performanța interogărilor SQL prin testarea încărcării în medii de producție simulate.

The Tuner de interogări SQL va identifica rapid și ușor interogările SQL care cauzează performanțe slabe ale bazei de date prin profilarea bazei de date și va afișa o vizualizare grafică a analizei timpului de așteptare. Acesta va monitoriza o întreagă sursă de date într-un interval de timp configurabil cu profilare continuă. Prin urmare, 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ță.

Captură de ecran SQL Query Tuner

Acest instrument va prezenta soluții sugerate generate automat cu ajutorul vrăjitorului de reglare a interogărilor SQL, care oferă un context esențial pentru reglarea interogărilor SQL. Dispune de analiză a indicilor cu coduri de culoare a indicilor utilizați, neutilizați și lipsă, cu recomandări pentru o performanță optimă. Puteți genera cazuri posibile și puteți găsi cea mai bună alternativă la o anumită instrucțiune SQL, incluzând rescrieri de interogări SQL și injecții de indicii.

The Tuner SQL Query prezintă diagrame vizuale unice de reglare a interogărilor SQL, care vă permit să înțelegeți impactul instrucțiunilor SQL asupra bazei de date folosind diagrame în loc de planuri de execuție complicate. Indecșii și constrângerile pe tabele și vizualizări sunt afișate cu statistici de tabel, iar îmbinările utilizate într-un SQL declarație (cum ar fi îmbinări carteziene, îmbinări carteziene implicite și relații multi-la-mulți) cu diagrame.

Verificați performanța interogărilor SQL existente și alternative în baza de date prin testarea de încărcare. 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 a testa efectiv în producție. Folosind acest instrument, puteți regla interogările SQL cu performanțe slabe pentru SQL Server dintr-o interfață intuitivă.

The Tuner de interogări SQL este un supliment la Manager de diagnosticare SQL. Dacă nu dețineți deja acel produs, ambele pot fi achiziționate împreună ca SQL Diagnostic Manager Pro pentru 2 156 USD per licență, este disponibilă și o perioadă de încercare gratuită, fără card de credit, de 14 zile, de la furnizorul produsului

3. SQL Server Management Studio

Dacă serverul dumneavoastră de baze de date este un Microsoft SQL Server, poate un instrument propriu al Microsoft, SQL Server Management Studio (SSMS), e tot ce ai nevoie. După cum probabil știți, instrumentul – care a fost lansat pentru prima dată cu Microsoft SQL Server 2005 – este folosit pentru configurarea, gestionarea și administrarea tuturor componentelor din Microsoft SQL Server. Include atât editori de scripturi, cât și instrumente grafice care lucrează cu obiecte și caracteristici ale serviciului. Ceea ce poate nu știți este că unul dintre instrumentele SSMS, Consilier de reglare a motorului bazei de date SQL Server (DTA) poate fi folosit pentru optimizarea interogărilor SQL.

Captură de ecran SQL Server Management Studio

Scopul principal al DTA este analiza bazelor de date și oferirea de recomandări. Conform documentației oficiale Microsoft, instrumentul vă poate ajuta să depanați performanța unei anumite interogări de problemă, să reglați un set de interogări într-una sau mai multe baze de date, efectuează o analiză exploratorie dacă eventualele modificări ale designului fizic și gestionează stocarea spaţiu.

Unul dintre cele mai bune lucruri despre SQL Server Management Studio este prețul ei. Acesta este un instrument gratuit de la Microsoft pe care îl puteți utiliza pentru a gestiona nu numai SQL Server, ci și Azure SQL Database. S-ar putea să nu fie instrumentul cel mai ușor de utilizat, dar, având în vedere prețul său, ar putea merita să îl priviți.

4. EverSQL

EverSQL este interesant, deoarece este unul dintre puținele instrumente de optimizare SQL online. Administratorii pot folosi acest instrument pentru a obține recomandări de ajustare a interogărilor și sugestii de îmbunătățire a indexării. Suport pentru baze de date în EverSQL este oarecum limitat. Cu toate acestea, acceptă cele mai populare motoare de baze de date plătite și gratuite și open-source, inclusiv MSSQL, Oracle, MySQL, MariaDB și PerconaDB. De fapt, deoarece acesta este un instrument offline care nu are nicio conexiune la baza ta de date, teoretic ar putea optimiza și interogare SQL, dar va face o treabă mai bună dacă știe ce tip de motor de bază de date va procesa cel optimizat interogare.

Captură de ecran EverSQL

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 schemei bazei de date. Faceți clic pe „Următorul” și, în câteva secunde, obțineți versiunea optimizată a interogării dvs. împreună cu câteva recomandări de indexare.

EverSQL totuși, nu face doar optimizări de interogări. Sunt oferite și alte câteva instrumente online gratuite și utile. Există, de exemplu, un SQL Query Syntax Check & Validator, un Query Minifier pentru instrucțiuni SQL și un Query Formatter.

Structura de prețuri a EverSQL este simplu. Aveți posibilitatea de a alege 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 USD/lună cu 30 de optimizări pe lună și suport prin chat live. Planurile personalizate pot fi, de asemenea, aranjate pentru a satisface nevoile dumneavoastră specifice.

5. SentryOne Plan Explorer

Plan Explorer este un instrument gratuit de la SentryOne. Este unul dintre cele mai bune instrumente de analiză și optimizare a interogărilor SQL. 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 punctare pentru a vă ajuta să determinați cel mai bun index pentru a susține o anumită interogare. Puteți vizualiza cu ușurință indecșii recomandați, puteți crea și modifica indecși și puteți detecta și actualiza statistici vechi.

Modulul de analiză statistică vă arată impactul parametrilor de interogare compilați și de rulare asupra performanței. Acest lucru vă permite să identificați rapid distorsiunea datelor care poate contribui la problemele de identificare a parametrilor, să vizualizați potențiale probleme de cheie ascendentă și să identificați oportunitățile pentru indici filtrați.

Captură de ecran Plan Explorer

Modulul Profilare și redare a performanței interogărilor va reda interogările și va accesa statisticile de performanță live ale acestora. Folosind acest instrument, puteți reda profilul de interogare pentru a vedea exact care operatori adaugă cea mai mare sarcină resurselor de sistem. Nu este nevoie să rulați din nou interogarea.

În timp ce majoritatea optimizatorilor de interogări SQL utilizează costul estimat al planului, Plan Explorer poate afișa costurile reale observate. Și puteți vedea diferența de cost prin comutarea între vizualizarea estimată și cea reală. Există mai multe caracteristici pentru acest instrument gratuit decât avem timp să le prezentăm. Dar, deoarece este un instrument gratuit, poate că veți dori să-l încercați și să vedeți singur.

6. dbForge Studio pentru SQL Server

Devartlui dbForge Studio pentru server SQL este un instrument SQL Server GUI all-in-one care poate fi folosit pentru gestionarea, administrarea, dezvoltarea, raportarea datelor, analiza, optimizarea și multe altele SQL Server. Dezvoltatorii SQL și administratorii de baze de date pot folosi instrumentul GUI pentru a accelera aproape orice sarcini complexe de baze de date, cum ar fi proiectarea baze de date, scrierea codului SQL, compararea bazelor de date, sincronizarea schemelor și a datelor, generarea de date de testare semnificative, printre altele.

Prezentare generală a administrării dbForge Studio pentru SQL Server

dbForge Studio pentru server SQL include cele Instrumentul de plan de interogare SQL, un instrument dedicat de optimizare a interogărilor. Caracteristica sa diagramă a planului de execuție ajută la vizualizarea și reglarea planului de execuție a interogărilor prin identificarea nodurilor cu execuție lentă. Fila Statistici de așteptare a instrumentului vă permite să detectați cu ușurință potențiale blocaje în interogarea dvs., afișând o listă de evenimente și așteptări asociate acestora. De asemenea, puteți utiliza arborele plan 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 un tabel sau optimizarea îmbinării unui tabel, de exemplu, ar putea crește performanța.

Instrumentul, cunoscut și sub numele de T-SQL Query Profiler, este încorporat în versiunile Standard, Profesional și Enterprise ale dbForge Studio pentru server SQL, care au prețuri de 249,95 USD, 499,95 USD și, respectiv, 699,95 USD. Este disponibilă o probă gratuită de 30 de zile a întregului produs, nu doar instrumentul de optimizare a interogărilor.

watch instagram story