6 beste verktøy for optimalisering av SQL-spørringer i 2020

click fraud protection

Data er alt, og følgelig er SQL overalt. The Structured Query Language har blitt det mest brukte spørringsspråket, og det støttes av de fleste moderne relasjonsdatabaseadministrasjonssystemer. Faktisk er bruken så utbredt at vi ofte refererer til databaseservere som SQL-servere.

Språket definerer hvordan spørringer kan dannes for å trekke ut de nøyaktige dataene som kreves fra en database. Gitt mangfoldet av moderne databaser med dusinvis av sammenføyde tabeller, kan SQL-spørringer være ganske komplekse. Med ekstra kompleksitet kommer redusert ytelse. SQL spørringsoptimalisering lar en finjustere spørringer slik at de returnerer de riktige dataene så raskt som mulig. Optimalisering av SQL-spørringer kan gjøres manuelt, men det finnes verktøy for å hjelpe til med å optimalisere dem. Vi er i ferd med å vurdere noen av de beste verktøyene vi har funnet.

Siden vi vil at alle skal være på samme side som vi vurderer de beste produktene, starter vi med å diskutere hva og det neppe ved optimalisering av SQL-søk. Deretter vil vi diskutere hovedfunksjonene til SQL-søkeoptimaliseringsverktøy. Ulike verktøy tilbyr forskjellige funksjoner, som du er i ferd med å se. Vi vil gjøre vårt beste for å sortere ut de essensielle funksjonene du bør se etter når du velger det beste verktøyet for dine spesifikke behov. Og til slutt vil vi vurdere de beste verktøyene vi kunne finne.

instagram viewer

Spørringsoptimalisering i SQL-servere

Enkelt sagt er SQL-spørringsoptimalisering handlingen med å analysere SQL-spørringer og bestemme den mest effektive utførelsesmekanismen. Det er ofte en prøving-og-feil-prosess hvor ulike spørringer testes for å se hvilken som gir best ytelse, samtidig som de returnerer de ettertraktede dataene. Spørringsoptimerere er noen ganger innebygd i databasestyringssystemer, men eksterne tredjepartsverktøy antas ofte å gi bedre ytelsesresultater. En typisk spørringsoptimerer vil generere én eller flere spørringsplaner for hver spørring, som hver er en mekanisme som brukes til å kjøre spørringen. Ytelsen (dvs. utførelsestiden) til hver måles og den mest effektive spørringsplanen velges og brukes til å kjøre spørringen. Mens noen verktøy for SQL-spørringsoptimalisering er enklere hjelpeapplikasjoner som krever mye menneskelig hjelp, gjør de beste systemene det meste av arbeidet sitt i bakgrunnen.

Her er et raskt eksempel på søkeoptimalisering. Hvis en bruker kjører en spørring som velger omtrent halvparten av en tabells data på et tidspunkt når serveren er tungt belastet med flere samtidige tilkoblinger. I en slik situasjon kan spørringsoptimereren bestemme seg for å bruke en spørringsplan som bruker tabellindeksene for å tilfredsstille spørringen, basert på begrensede ressurser. Å gjøre det kan redusere spørringens belastning på serverressurser. Hvis brukeren kjørte den samme spørringen på et annet tidspunkt da flere serverressurser var tilgjengelige, kunne spørringsoptimereren har bestemt at ressursbegrensning ikke var et problem og bruker ikke tabellindekser, laster hele tabellen inn hukommelse.

Hovedkarakteristika for SQL Query Optimization Tools

Som vi har bestemt, er hovedfunksjonen til et SQL Query Optimizer-verktøy å prøve å finne den beste måten å kjøre spørringen på ved å analysere forskjellige spørringsplaner. Alle verktøyene som er vurdert her vil i det minste gjøre det, men noen tilbyr mye mer funksjonalitet. La oss ta en titt på noen av hovedfunksjonene som ofte finnes i SQL-søkeoptimaliseringsverktøy.

Grunnleggende SQL-tuning

Dette er kjernefunksjonaliteten til SQL Query Optimization-verktøy. Det er prosessen med å omskrive SQL-setninger annerledes med mål om å forbedre ytelsen til spørringen mens du fortsatt får det samme resulterende datasettet. Verktøyet fungerer ved å måle utførelsestiden for spørringen til de ulike versjonene av spørringen (søkeplaner) og velge den som kjører raskest.

Databasemotorstøtte

De fleste verktøy vil i det minste støtte de vanligste databasemotorene som Microsoft SQL, Oracle, MySQL, PostgreSQL og MariaDB. Andre vil støtte et bredere utvalg og andre vil likevel bare støtte ett. Det er viktig å velge et verktøy som kan støtte alle motorene du bruker,

Skybasert databasestøtte

Noen SQL-søksoptimaliseringsverktøy er i stand til å analysere og optimalisere skybaserte databaser som Microsoft SQL Azure eller AWS RDS. Skystøtte varierer mye fra verktøy til verktøy. Igjen, det er viktig å velge en som støtter det du har. Merk at de fleste verktøy som støtter skydatabaser også støtter lokale.

Beste SQL Query Optimization Tools og Software

Tiden er endelig inne for å avsløre – og gjennomgå – de beste verktøyene og programvaren for SQL-søksoptimalisering vi kunne finne. Listen vår har mange forskjellige typer verktøy, som hver gir sin egen vri på optimalisering. Våre viktigste inklusjonskriterier var at hvert produkt i det minste hjalp manuelt å optimalisere SQL-spørringer – de fleste gjør det automatisk – og at de fungerte som annonsert. Vi vil ikke at du skal kaste bort tid på produkter som ikke gjør det de burde.

Vårt første produkt er fra SolarWinds, et selskap som har hatt et utmerket rykte for å lage noen av de beste nettverks- og systemadministrasjonsverktøyene i det meste av de tjue årene. Flaggskipsproduktet kalt SolarWinds Network Performance Monitor blir av mange sett på som en av de aller beste programvarene for nettverksbåndbreddeovervåking. Noe av SolarWinds’ berømmelse kommer også fra de mange gratisverktøyene den tilbyr. De er mindre verktøy, som hver adresserer en spesifikk oppgave for nettverksadministratorer. To utmerkede eksempler på disse verktøyene er Advanced Subnet Calculator og Kiwi Syslog Server.

For SQL Query-optimalisering trenger du imidlertid SolarWinds Database Performance Analyzer (DPA), et databaseadministrasjonsverktøy bygget for ytelsesovervåking, analyse og justering av SQL-spørringer. Den overvåker og analyserer SQL-databaseforekomstene dine og bruker en responstidsanalysemetode som setter hovedfokus på tiden mellom en spørringsforespørsel og det tilsvarende svaret fra databasen, analyserer ventetyper og hendelser for å finne flaskehalsene til databaser.

SolarWinds Database Performance Analyzer
  • GRATIS PRØVEPERIODE: SolarWinds Database Performance Analyzer
  • Last ned lenke:https://www.solarwinds.com/database-performance-analyzer

Verktøyet, som også er flott for feilsøking, har et brukervennlig grensesnitt som vil hjelpe deg med å finne problemer raskt og enkelt. Hovedskjermen lar deg se databaseforekomster, ventetider, spørringsråd, CPU (med advarsler og kritiske varsler), minne, disk og økter.

Når du borer ned, viser trenddashbordet for en bestemt databaseforekomst deg i et grafisk format totale ventetider (eller ditt valg av gjennomsnittlig eller typisk dag ventetid) for brukere i løpet av en måned. På den grafen representerer hver farge en individuell SQL-setning, og gir deg en visuelt tiltalende representasjon av hvilken setning som tar lengst tid å kjøre.

Selv om dette produktet ikke er et ekte SQL-søkeoptimeringsverktøy, kan noen av funksjonene hjelpe deg med det. For eksempel kan den overvåke og måle utføringstid for spørringer, og den vil også gi noen finjusteringsråd, selv om den har en tendens til å være relatert til databasekonfigurasjonen i stedet for spørringskoden.

Prisen for SolarWinds Database Performance Analyzer starter på $1 995 og varierer i henhold til antall og type databaseforekomster som skal overvåkes. Hvis du ønsker å prøve produktet før du kjøper det, en fullt funksjonell 14-dagers prøveversjon er tilgjengelig.

2. SQL Query Tuner for SQL Diagnostic Manager

De SQL Diagnostic Manager er et av de beste databaseovervåkingsverktøyene som er tilgjengelige. Men når du kompletterer det med SQL spørringstuner, det du får er et av de beste verktøyene for SQL-spørringsoptimalisering. Dens fordeler er flere. Den identifiserer problematiske SQL-spørringer via databaseprofilering av ventetidsanalyse. Det kan også gi deg automatisk genererte tuning-anbefalinger med SQL-søke tuning-veiviseren. Verktøyet vil verifisere ytelsen til SQL-spørringer gjennom lasttesting i simulerte produksjonsmiljøer.

De SQL Query Tuner vil raskt og enkelt identifisere SQL-spørringer som forårsaker dårlig databaseytelse via databaseprofilering og vise en grafisk visualisering av ventetidsanalyse. Den vil overvåke en hel datakilde innen et konfigurerbart tidsrom med kontinuerlig profilering. Som et resultat vil du få en bedre forståelse av hvordan SQL Server planlegger å utføre SQL-spørringer og de ulike ytelseskostnadene.

Skjermbilde av SQL Query Tuner

Dette verktøyet vil presentere automatisk genererte foreslåtte løsninger med veiviseren for justering av SQL-spørringer, som gir en viktig kontekst for justering av SQL-spørringer. Den har fargekodet indeksanalyse av brukte, ikke-brukte og manglende indekser med anbefalinger for optimal ytelse. Du kan generere mulige tilfeller og finne det beste alternativet til en gitt SQL-setning ved å inkludere SQL-spørringsomskrivinger og hint-injeksjoner.

De SQL Query-tuner har unike visuelle SQL-søksjusteringsdiagrammer som lar deg forstå virkningen av SQL-setninger på databasen ved å bruke diagrammene i stedet for kompliserte utførelsesplaner. Indekser og begrensninger på tabeller og visninger vises med tabellstatistikk, og sammenføyningene som brukes i en SQL uttalelse (som kartesiske sammenføyninger, underforståtte kartesiske sammenføyninger og mange-til-mange-forhold) med diagrammer.

Verifiser ytelsen til eksisterende og alternative SQL-spørringer mot databasen via belastningstesting. Konfigurer SQL-spørringer til å kjøre flere ganger parallelt og for å observere hvordan de reagerer på simulerte produksjonsmiljøer uten risiko for å faktisk teste i produksjon. Ved å bruke dette verktøyet kan du justere SQL-spørringer med dårlig ytelse for SQL Server fra et intuitivt grensesnitt.

De SQL Query Tuner er et tillegg til SQL Diagnostic Manager. Hvis du ikke allerede eier det produktet, kan begge kjøpes sammen som SQL Diagnostic Manager Pro for $2 156 per lisens er en gratis, 14-dagers prøveversjon uten kredittkort også tilgjengelig fra produktets leverandør

3. SQL Server Management Studio

Hvis databaseserveren din er en Microsoft SQL Server, kanskje Microsofts eget verktøy, SQL Server Management Studio (SSMS), er alt du trenger. Som du kanskje vet, brukes verktøyet – som først ble lansert med Microsoft SQL Server 2005 – til å konfigurere, administrere og administrere alle komponenter i Microsoft SQL Server. Det inkluderer både skriptredigerere og grafiske verktøy som fungerer med objekter og funksjoner i tjenesten. Det du kanskje ikke vet er at et av SSMS-verktøyene, SQL Server Database Engine Tuning Advisor (DTA) kan brukes til SQL-spørringsoptimalisering.

Skjermbilde av SQL Server Management Studio

DTAs primære formål er å analysere databaser og gi anbefalinger. I følge Microsofts offisielle dokumentasjon kan verktøyet hjelpe deg med å feilsøke ytelsen til et spesifikt problemsøk, justere en stor sett med spørringer på tvers av én eller flere databaser, utfør en utforskende hva-hvis-analyse av potensielle fysiske designendringer, og administrer lagring rom.

Noe av det beste med SQL Server Management Studio er prisen. Dette er et gratis verktøy fra Microsoft som du kan bruke til å administrere ikke bare SQL Server, men også Azure SQL Database. Det er kanskje ikke det mest brukervennlige verktøyet der ute, men gitt prisen kan det være verdt å se på.

4. EverSQL

EverSQL er interessant ettersom det er et av få online SQL-optimaliseringsverktøy. Administratorer kan bruke dette verktøyet til å få anbefalinger om søking og forbedringsforslag for indeksering. Databasestøtte i EverSQL er noe begrenset. Den støtter imidlertid de fleste populære betalte og gratis databasemotorer med åpen kildekode, inkludert MSSQL, Oracle, MySQL, MariaDB og PerconaDB. Faktisk, siden dette er et offline-verktøy som ikke har noen tilkobling til databasen din, kan det teoretisk optimalisere og SQL-spørring, men den vil gjøre en bedre jobb hvis den vet hvilken type databasemotor som vil behandle den optimaliserte spørsmål.

EverSQL-skjermbilde

Å bruke verktøyet er superenkelt. Du kobler til nettstedet, velger databasetype og versjon og limer inn SQL-spørringskoden. For å få indekseringsanbefalinger og la verktøyet bruke avanserte spørringstransformasjoner, kan du eventuelt laste opp databasens skjemastruktur. Du klikker på "Neste" og i løpet av sekunder får du den optimaliserte versjonen av søket ditt sammen med noen indekseringsanbefalinger.

EverSQL gjør imidlertid ikke bare spørringsoptimaliseringer. Noen få andre gratis og nyttige nettverktøy tilbys også. Det er for eksempel en SQL Query Syntax Check & Validator, en Query Minifier for SQL Statements og en Query Formatter.

Prisstrukturen til EverSQL er enkelt. Du kan velge mellom en gratis plan som gir deg én gratis søkeoptimalisering per dag i 30 dager. Dette er prøveplanen. Deretter har du Basic-planen til $29/måned som inkluderer 10 månedlige optimaliseringer og Plus-planen til $135/måned med 30 optimaliseringer per måned og live chat-støtte. Tilpassede planer kan også ordnes for å møte dine spesifikke behov.

5. SentryOne Plan Explorer

Plan Explorer er et gratis verktøy fra SentryOne. Det er et av de beste SQL-spørringsanalyse- og optimaliseringsverktøyene. Dette verktøyet kan hjelpe deg raskt å finne roten til de tøffeste SQL Server-spørringsproblemene. Den er laget av flere moduler. Indeksanalysen bruker scoringsalgoritmer for å hjelpe deg med å finne den beste indeksen for å støtte en gitt spørring. Du kan enkelt se anbefalte indekser, opprette og endre indekser, og oppdage og oppdatere gammel statistikk.

Statistikkanalysemodulen viser deg innvirkningen av kompilerte spørringsparametere og kjøretidsspørringsparametere på ytelsen. Dette lar deg raskt oppdage dataskjevheter som kan bidra til parametersniffingsproblemer, visualisere potensielle stigende nøkkelproblemer og identifisere muligheter for filtrerte indekser.

Skjermbilde av Plan Explorer

Modulen Query Performance Profiling og Playback vil spille av spørringer på nytt og få tilgang til live-ytelsesstatistikken deres. Ved å bruke dette verktøyet kan du spille av spørringsprofilen for å se nøyaktig hvilke operatører som legger mest belastning på systemressurser. Det er ikke nødvendig å kjøre spørringen på nytt.

Mens de fleste SQL-spørringsoptimerere bruker estimerte plankostnader, Plan Explorer kan vise de faktiske observerte kostnadene. Og du kan se kostnadsforskjellen ved å bytte visningen mellom estimert og faktisk. Det er flere funksjoner i dette gratisverktøyet enn vi har tid til å presentere dem. Men siden det er et gratis verktøy, vil du kanskje prøve det og se selv.

6. dbForge Studio for SQL Server

Devart's dbForge Studio for SQL-server er et alt-i-ett SQL-server GUI-verktøy som kan brukes til SQL Server-administrasjon, administrasjon, utvikling, datarapportering, analyse, optimalisering og mer. SQL-utviklere og databaseadministratorer kan bruke GUI-verktøyet til å øke hastigheten på nesten alle komplekse databaseoppgaver som design databaser, skrive SQL-kode, sammenligne databaser, synkronisere skjemaer og data, generere meningsfulle testdata, blant annet.

dbForge Studio for SQL Server-administrasjonsoversikt

dbForge Studio for SQL-server inkluderer SQL Query Plan Tool, et dedikert søkeoptimaliseringsverktøy. Funksjonen for utførelsesplandiagram hjelper med å visualisere og justere utførelsesplanen for spørringer ved å finne de sakte kjørende nodene. Verktøyets Ventestatistikk-fane lar deg enkelt oppdage potensielle flaskehalser i søket ditt ved å vise en liste over hendelser og ventetider knyttet til dem. Du kan også bruke verktøyets plantre for å få informasjon om hvordan SQL Server utfører en SELECT-setning. Den vil vise deg hvor det å legge til en indeks i en tabell eller optimalisere tabellsammenføyning, for eksempel, kan øke ytelsen.

Verktøyet, som også er kjent som T-SQL Query Profiler, er innebygd i Standard-, Profesional- og Enterprise-versjonene av dbForge Studio for SQL-server som er priset til henholdsvis $249,95, $499,95 og $699,95. En gratis 30-dagers prøveversjon av hele produktet – ikke bare søkeoptimaliseringsverktøyet – er tilgjengelig.

watch instagram story