6 najboljših orodij za optimizacijo poizvedb SQL v letu 2020

click fraud protection

Podatki so vse in posledično je SQL povsod. Jezik strukturiranih poizvedb je postal najpogosteje uporabljen jezik poizvedb in ga podpira večina sodobnih sistemov za upravljanje relacijskih baz podatkov. Pravzaprav je njegova uporaba tako razširjena, da strežnike baz podatkov pogosto imenujemo strežniki SQL.

Jezik opredeljuje, kako je mogoče oblikovati poizvedbe za izvlečenje iz baze podatkov natančnih podatkov, ki so potrebni. Glede na množico sodobnih baz podatkov z desetinami združenih tabel so lahko poizvedbe SQL precej zapletene. Z dodatno kompleksnostjo pride do zmanjšane zmogljivosti. Optimizacija poizvedb SQL omogoča natančno nastavitev poizvedb, tako da čim hitreje vrnejo prave podatke. Optimiziranje poizvedb SQL je mogoče opraviti ročno, vendar obstajajo orodja za pomoč pri njihovi optimizaciji. Pregledali bomo nekaj najboljših orodij, ki smo jih našli.

Ker želimo, da so vsi na isti strani, ko pregledujemo najboljše izdelke, bomo začeli z razpravo o tem, kaj in kaj je sram optimizacije poizvedb SQL. Nato bomo razpravljali o glavnih značilnostih orodij za optimizacijo poizvedb SQL. Različna orodja ponujajo različne funkcije, kot boste kmalu videli. Potrudili se bomo, da razvrstimo bistvene funkcije, ki bi jih morali iskati pri izbiri najboljšega orodja za vaše posebne potrebe. In končno bomo pregledali najboljša orodja, ki jih lahko najdemo.

instagram viewer

Optimizacija poizvedb v strežnikih SQL

Preprosto povedano, optimizacija poizvedb SQL je dejanje analize poizvedb SQL in določanje najučinkovitejšega mehanizma izvajanja. Pogosto gre za postopek poskusov in napak, pri katerem se preizkušajo različne poizvedbe, da se ugotovi, katera ponuja najboljšo zmogljivost, hkrati pa vrne iskane podatke. Optimizatorji poizvedb so včasih vgrajeni v sisteme za upravljanje baz podatkov, vendar se pogosto domneva, da zunanja orodja tretjih oseb nudijo boljše rezultate delovanja. Tipičen optimizator poizvedb bo ustvaril enega ali več načrtov poizvedbe za vsako poizvedbo, od katerih je vsak mehanizem, ki se uporablja za izvajanje poizvedbe. Izmeri se zmogljivost (tj. čas izvedbe) vsakega in izbere se najučinkovitejši načrt poizvedbe, ki se uporabi za izvajanje poizvedbe. Medtem ko so nekatera orodja za optimizacijo poizvedb SQL enostavnejše pomožne aplikacije, ki zahtevajo veliko človeške pomoči, najboljši sistemi večino svojega dela opravijo v ozadju.

Tukaj je hiter primer optimizacije poizvedb. Če uporabnik zažene poizvedbo, ki izbere približno polovico podatkov tabele v času, ko je strežnik močno naložen z več hkratnimi povezavami. V takšni situaciji bi se lahko optimizator poizvedb na podlagi omejenih virov odločil za uporabo načrta poizvedbe, ki uporablja indekse tabele za izpolnitev poizvedbe. S tem lahko zmanjšate porabo virov strežnika poizvedbe. Če je uporabnik zagnal isto poizvedbo ob drugem času, ko je bilo na voljo več strežniških virov, bi lahko optimizator poizvedb so ugotovili, da omejitev virov ni bila težava, in ne uporabljajo indeksov tabele in naložijo celotno tabelo spomin.

Glavne značilnosti orodij za optimizacijo poizvedb SQL

Kot smo ugotovili, je glavna funkcija orodja za optimiziranje poizvedb SQL poskušati določiti najboljši način za izvajanje poizvedbe z analizo različnih načrtov poizvedbe. Vsa orodja, ki so tukaj pregledana, bodo vsaj za to, vendar nekatera ponujajo veliko več funkcionalnosti. Oglejmo si nekaj glavnih funkcij, ki jih običajno najdemo v orodjih za optimizacijo poizvedb SQL.

Osnovna nastavitev SQL

To je osnovna funkcionalnost orodij za optimizacijo poizvedb SQL. Gre za postopek drugačnega pisanja stavkov SQL s ciljem izboljšanja učinkovitosti poizvedbe, medtem ko še vedno dobimo enak končni nabor podatkov. Orodje deluje tako, da izmeri čas izvedbe poizvedbe za različne različice poizvedbe (načrti poizvedbe) in izbere tisto, ki se izvede najhitreje.

Podpora za motor za baze podatkov

Večina orodij bo podpirala vsaj najpogostejše motorje baz podatkov, kot so Microsoft SQL, Oracle, MySQL, PostgreSQL in MariaDB. Drugi bodo podprli širši izbor, drugi pa bodo podprli samo enega. Pomembno je izbrati orodje, ki lahko podpira vse motorje, ki jih uporabljate,

Podpora za bazo podatkov v oblaku

Nekatera orodja za optimizacijo poizvedb SQL lahko analizirajo in optimizirajo baze podatkov, ki gostujejo v oblaku, kot sta Microsoft SQL Azure ali AWS RDS. Podpora v oblaku se od orodja do orodja zelo razlikuje. Ponovno je pomembno, da izberete tisto, ki podpira to, kar imate. Upoštevajte, da bo večina orodij, ki podpirajo baze podatkov v oblaku, podpirala tudi lokalna.

Najboljša orodja in programska oprema za optimizacijo poizvedb SQL

Končno je prišel čas za razkritje – in pregled – najboljših orodij in programske opreme za optimizacijo poizvedb SQL, ki smo jih lahko našli. Naš seznam ima veliko različnih vrst orodij, od katerih vsako prinaša svoj zasuk v optimizacijo. Naša glavna merila za vključitev so bila, da je vsak izdelek vsaj pomagal ročno optimizirati poizvedbe SQL – večina to naredi samodejno – in da je deloval, kot je bilo oglaševano. Ne bi želeli, da bi izgubljali čas za izdelke, ki ne bodo delali, kot bi morali.

Naš prvi izdelek je SolarWinds, podjetje, ki je uživalo odličen sloves za izdelavo nekaterih najboljših orodij za upravljanje omrežij in sistemov za večino svojih dvajsetih let obstoja. Njegov vodilni izdelek, imenovan SolarWinds Network Performance Monitor, mnogi vidijo kot enega najboljših programov za spremljanje pasovne širine omrežja. Nekaj ​​slave SolarWinds prihaja tudi iz številnih brezplačnih orodij, ki jih ponuja. So manjša orodja, od katerih vsako obravnava določeno nalogo skrbnikov omrežja. Dva odlična primera teh orodij sta Advanced Subnet Calculator in Kiwi Syslog Server.

Za optimizacijo poizvedb SQL pa je tisto, kar potrebujete SolarWinds Database Performance Analyzer (DPA), orodje za upravljanje baze podatkov, ustvarjeno za spremljanje, analizo in prilagajanje uspešnosti poizvedb SQL. Spremlja in analizira vaše primerke baze podatkov SQL in z uporabo metode analize odzivnega časa, ki daje glavni poudarek času med zahtevo poizvedbe in ustreznim odgovorom iz baze podatkov analizira vrste čakanja in dogodke, da bi ugotovil ozka grla podatkovnih baz.

Analizator zmogljivosti baze podatkov SolarWinds
  • BREZPLAČEN PREIZKUS: Analizator zmogljivosti baze podatkov SolarWinds
  • Povezava za prenos:https://www.solarwinds.com/database-performance-analyzer

Orodje, ki je odlično tudi za odpravljanje težav, ima vmesnik, ki je enostaven za uporabo, ki vam bo pomagal hitro in enostavno najti težave. Na glavnem zaslonu si lahko ogledate primerke baze podatkov, čakalne čase, nasvete za poizvedbo, CPE (z opozorili in kritičnimi opozorili), pomnilnik, disk in seje.

Pri vrtanju navzdol vam nadzorna plošča trendov določenega primerka baze podatkov prikaže v grafični obliki skupne čakalne dobe (ali vaša izbira povprečnih ali tipičnih dnevnih čakalnih dob) za uporabnike v enem mesecu. Na tem grafu vsaka barva predstavlja posamezen stavek SQL, ki vam daje vizualno privlačno predstavitev tega, kateri stavek se izvaja najdlje.

Čeprav ta izdelek ni pravo orodje za optimizacijo poizvedb SQL, vam lahko nekatere njegove funkcije pomagajo pri tem. Na primer, lahko spremlja in meri čas izvajanja poizvedbe in bo zagotovil tudi nekaj nasvetov za prilagajanje, čeprav je običajno povezan s konfiguracijo baze podatkov in ne s kodo poizvedbe.

Cena za Analizator zmogljivosti baze podatkov SolarWinds se začne pri 1 995 $ in se razlikuje glede na število in vrsto primerkov baze podatkov, ki jih je treba spremljati. Če želite izdelek preizkusiti pred nakupom, na voljo je popolnoma funkcionalna 14-dnevna preizkusna različica.

2. SQL Query Tuner za SQL Diagnostic Manager

The Upravitelj diagnostike SQL je eno najboljših orodij za spremljanje baze podatkov, ki so na voljo. Toda ko ga dopolnimo z Sprejemnik poizvedb SQL, kar dobite, je eno najboljših orodij za optimizacijo poizvedb SQL. Njegove koristi so številne. Prepozna problematične poizvedbe SQL prek profiliranja baze podatkov analize čakalnega časa. Prav tako vam lahko da samodejno ustvarjena priporočila za nastavitev s čarovnikom za nastavitev poizvedb SQL. Orodje bo preverilo učinkovitost poizvedb SQL s testiranjem obremenitve v simuliranih proizvodnih okoljih.

The Sprejemnik poizvedb SQL bo s profiliranjem baze podatkov hitro in enostavno prepoznal poizvedbe SQL, ki povzročajo slabo delovanje baze podatkov, in prikazal grafično vizualizacijo analize čakalnega časa. Z neprekinjenim profiliranjem bo spremljal celoten vir podatkov v nastavljivem časovnem obdobju. Posledično boste bolje razumeli, kako SQL Server načrtuje izvajanje poizvedb SQL in različne stroške delovanja.

Posnetek zaslona za sprejemnik poizvedb SQL

To orodje bo predstavilo samodejno generirane predlagane rešitve s čarovnikom za nastavitev poizvedb SQL, ki zagotavljajo bistven kontekst za prilagajanje poizvedb SQL. Vsebuje barvno označeno indeksno analizo uporabljenih, neuporabljenih in manjkajočih indeksov s priporočili za optimalno delovanje. Ustvarite lahko možne primere in poiščete najboljšo alternativo za dani stavek SQL, tako da vključite prepise poizvedb SQL in injekcije namigov.

The Sprejemnik poizvedb SQL vsebuje edinstvene vizualne diagrame za nastavitev poizvedb SQL, ki vam omogočajo razumevanje vpliva stavkov SQL na bazo podatkov z uporabo diagramov namesto zapletenih izvedbenih načrtov. Indeksi in omejitve tabel in pogledov so prikazani s statistiko tabele in spoji, uporabljeni v SQL izjavo (kot so kartezijanski spoji, implicitni kartezijanski spoji in odnosi mnogo proti mnogo) z diagrami.

Preverite zmogljivost obstoječih in alternativnih poizvedb SQL za bazo podatkov s testiranjem obremenitve. Konfigurirajte poizvedbe SQL tako, da se izvajajo večkrat vzporedno in opazujete, kako se odzivajo na simulirana produkcijska okolja brez tveganja dejanskega testiranja v produkciji. S tem orodjem lahko nastavite slabo delujoče poizvedbe SQL za strežnik SQL iz intuitivnega vmesnika.

The Sprejemnik poizvedb SQL je dodatek k Upravitelj diagnostike SQL. Če tega izdelka še nimate, lahko oba kupite skupaj kot SQL Diagnostic Manager Pro za 2 156 $ na licenco je pri prodajalcu izdelka na voljo tudi brezplačna 14-dnevna preizkusna različica brez kreditne kartice

3. SQL Server Management Studio

Če je vaš strežnik baze podatkov Microsoft SQL Server, morda Microsoftovo lastno orodje, SQL Server Management Studio (SSMS), je vse, kar potrebujete. Kot morda veste, se orodje, ki je bilo prvič zagnano, prvič zagnano z Microsoft SQL Server 2005, uporablja za konfiguriranje, upravljanje in skrbništvo vseh komponent znotraj strežnika Microsoft SQL Server. Vključuje urejevalnike skriptov in grafična orodja, ki delajo s predmeti in funkcijami storitve. Morda ne veste, da je eno od orodij SSMS Svetovalec za nastavitev motorja baze podatkov SQL Server (DTA) se lahko uporablja za optimizacijo poizvedb SQL.

Posnetek zaslona SQL Server Management Studio

Glavni namen DTA je analiziranje baz podatkov in dajanje priporočil. Glede na Microsoftovo uradno dokumentacijo vam lahko orodje pomaga pri odpravljanju težav z delovanjem določene težave poizvedbe, prilagajanju velikega nabor poizvedb po eni ali več bazah podatkov, izvedite raziskovalno analizo "kaj-če" morebitnih sprememb fizičnega dizajna in upravljajte shranjevanje prostor.

Ena najboljših stvari o SQL Server Management Studio je njegova cena. To je brezplačno Microsoftovo orodje, ki ga lahko uporabljate za upravljanje ne samo strežnika SQL Server, temveč tudi baze podatkov Azure SQL. Morda ni najbolj uporabniku prijazno orodje, vendar ga je glede na njegovo ceno morda vredno pogledati.

4. EverSQL

EverSQL je zanimivo, saj je eno redkih spletnih orodij za optimizacijo SQL. Skrbniki lahko s tem orodjem pridobijo priporočila za prilagajanje poizvedb in predloge za izboljšanje indeksiranja. Podpora za bazo podatkov v EverSQL je nekoliko omejeno. Vendar pa podpira najbolj priljubljene plačljive in brezplačne ter odprtokodne motorje baz podatkov, vključno z MSSQL, Oracle, MySQL, MariaDB in PerconaDB. Pravzaprav, ker je to orodje brez povezave, ki nima povezave z vašo bazo podatkov, bi lahko teoretično optimiziralo in poizvedbo SQL, vendar bo opravil boljše delo, če ve, kakšen tip mehanizma baze podatkov bo obdelal optimizirano poizvedba.

Posnetek zaslona EverSQL

Uporaba orodja je zelo preprosta. Povezate se s spletnim mestom, izberete vrsto in različico baze podatkov ter prilepite kodo poizvedbe SQL. Če želite dobiti priporočila za indeksiranje in omogočiti orodju uporabo naprednih transformacij poizvedb, lahko po želji naložite strukturo sheme baze podatkov. Kliknite »Naprej« in v nekaj sekundah dobite optimizirano različico vaše poizvedbe skupaj z nekaterimi priporočili za indeksiranje.

EverSQL vendar ne izvaja samo optimizacije poizvedb. Na voljo je tudi nekaj drugih brezplačnih in uporabnih spletnih orodij. Obstaja, na primer, preverjanje in preverjanje sintakse poizvedbe SQL, pomanjšalnik poizvedb za izjave SQL in oblikovalnik poizvedb.

Struktura cen EverSQL je preprosto. Izbirate lahko med brezplačnim načrtom, ki vam omogoča eno brezplačno optimizacijo poizvedbe na dan 30 dni. To je poskusni načrt. Nato imate osnovni načrt za 29 USD/mesec, ki vključuje 10 mesečnih optimizacij in načrt Plus za 135 USD/mesec s 30 optimizacijami na mesec in podporo za klepet v živo. Načrte po meri lahko uredite tudi glede na vaše posebne potrebe.

5. SentryOne Plan Explorer

Raziskovalec načrtov je brezplačno orodje iz SentryOne. Je eno najboljših orodij za analizo in optimizacijo poizvedb SQL. To orodje vam lahko pomaga hitro priti do korenin najtežjih težav s poizvedbami SQL Server. Sestavljen je iz več modulov. Analiza indeksa uporablja algoritme točkovanja, ki vam pomagajo določiti najboljši indeks za podporo dane poizvedbe. Z lahkoto si lahko ogledate priporočene indekse, ustvarite in spremenite indekse ter zaznate in posodobite stare statistične podatke.

Modul analize statistike vam pokaže vpliv prevedenih in izvajalnih poizvedbenih parametrov na zmogljivost. To vam omogoča hitro odkrivanje izkrivljanja podatkov, ki lahko prispeva k težavam pri vohanju parametrov, vizualizacijo možnih naraščajočih ključnih težav in prepoznavanje priložnosti za filtrirane indekse.

Posnetek zaslona Raziskovalca načrtov

Modul Profiliranje in predvajanje uspešnosti poizvedbe bo znova predvajal poizvedbe in dostopal do njihove statistike uspešnosti v živo. S tem orodjem lahko predvajate profil poizvedbe, da natančno vidite, kateri operaterji dodajajo največjo obremenitev sistemskim virom. Poizvedbe ni treba znova zagnati.

Medtem ko večina optimizatorjev poizvedb SQL uporablja ocenjene stroške načrta, Raziskovalec načrtov lahko prikaže dejanske opažene stroške. Razliko v stroških si lahko ogledate tako, da preklopite pogled med ocenjeno in dejansko. To brezplačno orodje ima več funkcij, kot jih imamo časa, da jih predstavimo. Ker pa je to brezplačno orodje, ga boste morda želeli preizkusiti in se prepričati sami.

6. dbForge Studio za SQL Server

Devart's dbForge Studio za strežnik SQL je vse-v-enem orodje GUI strežnika SQL, ki se lahko uporablja za upravljanje, administracijo, razvoj, poročanje podatkov, analizo, optimizacijo in še več. Razvijalci SQL in skrbniki baz podatkov lahko uporabljajo orodje GUI za pospešitev skoraj vseh zapletenih nalog baze podatkov, kot je načrtovanje baze podatkov, pisanje kode SQL, primerjanje baz podatkov, sinhronizacija shem in podatkov, generiranje smiselnih testnih podatkov, med drugim.

Pregled administracije dbForge Studio za SQL Server

dbForge Studio za strežnik SQL vključuje Orodje za načrt poizvedb SQL, namensko orodje za optimizacijo poizvedb. Njegova funkcija diagrama načrta izvajanja pomaga vizualizirati in prilagoditi načrt izvajanja poizvedbe z natančno določitvijo vozlišč, ki se počasi izvajajo. Zavihek »Statistika čakanja« orodja vam omogoča enostavno odkrivanje morebitnih ozkih grl v vaši poizvedbi, tako da prikažete seznam dogodkov in čakanj, povezanih z njimi. Lahko uporabite tudi drevo načrta orodja, da dobite informacije o tem, kako SQL Server izvaja stavek SELECT. Pokazal vam bo, kje bi lahko na primer dodajanje indeksa v tabelo ali optimizacijo združevanja tabel povečalo učinkovitost.

Orodje, ki je znano tudi kot Profiler poizvedb T-SQL, je vgrajen v standardno, profesionalno in podjetniško različico dbForge Studio za strežnik SQL po ceni 249,95 $, 499,95 $ in 699,95 $. Na voljo je brezplačna 30-dnevna preskusna različica celotnega izdelka – ne samo orodja za optimizacijo poizvedb.

watch instagram story