Data er alt, og derfor er SQL detoveralt. Det strukturerede forespørgselssprog er blevet det mest anvendte forespørgselssprog, og det understøttes af de fleste moderne relationelle databasesystemer. Faktisk er dens anvendelse så udbredt, at vi ofte omtaler databaseservere som SQL-servere. Sproget definerer, hvordan forespørgsler kan dannes for at udtrække de nøjagtige data, der kræves fra en database. I betragtning af mangfoldigheden af moderne databaser medsnesevis af sammenføjede tabeller, SQL-forespørgsler kan være ret komplicerede. Med ekstra kompleksitet kommer reduceret ydelse. SQL-forespørgseloptimering giver en mulighed for at finjustere forespørgsler, så de returnerer de rigtige data så hurtigt som muligt. Optimering af SQL-forespørgsler kan udføres manuelt, men der findes værktøjer til at hjælpe med at optimere dem. Vi er ved at gennemgå nogle af de bedste værktøjer, vi har fundet.
Da vi ønsker, at alle skal være på samme side somvi gennemgår de bedste produkter, begynder med at diskutere hvad og genert ved SQL-forespørgseloptimering. Derefter diskuterer vi hovedfunktionerne i SQL forespørgseloptimeringsværktøjer. Forskellige værktøjer tilbyder forskellige funktioner, som du er ved at se. Vi gør vores bedste for at sortere de vigtige funktioner, du skal være på udkig efter, når du vælger det bedste værktøj til dine specifikke behov. Og til sidst gennemgår vi de bedste værktøjer, vi kunne finde.
SQL Query Optimization, hvad og hvorfor
Kort sagt er SQL-forespørgseloptimering handlingen afanalyse af SQL-forespørgsler og bestemmelse af den mest effektive udførelsesmekanisme. Det er ofte en prøve-og-fejl-proces, hvor forskellige forespørgsler testes for at se, hvilken der tilbyder den bedste ydelse, mens du stadig returnerer de efterspurgte data. Forespørgselsoptimeringsværktøjer er undertiden indbygget i databasestyringssystemer, men eksterne, tredjepartsværktøjer menes ofte at give bedre ydelsesresultater. En typisk forespørgselsoptimering genererer en eller flere forespørgselsplaner for hver forespørgsel, som hver er en mekanisme, der bruges til at køre forespørgslen. Ydeevnen (dvs. udførelsestid) for hver måles, og den mest effektive forespørgselsplan vælges og bruges til at køre forespørgslen. Mens nogle SQL-forespørgselsoptimeringsværktøjer er enklere hjælpe-applikationer, der kræver meget menneskelig hjælp, udfører de bedste systemer det meste af deres arbejde i baggrunden.
Her er et hurtigt eksempel på forespørgseloptimering. Hvis en bruger kører en forespørgsel, der vælger cirka halvdelen af en tabells data på et tidspunkt, hvor serveren har stor opgave med flere samtidige forbindelser. I en sådan situation kunne forespørgselsoptimeringsprogrammet beslutte at bruge en forespørgselsplan, der bruger tabelindekserne til at tilfredsstille forespørgslen, baseret på begrænsede ressourcer. Dette kan reducere forespørgslens dræning på serverressourcer. Hvis brugeren kørte den samme forespørgsel på et andet tidspunkt, hvor flere serverressourcer var tilgængelige, kunne forespørgseloptimeringsværktøjet have bestemt, at ressourcebegrænsning ikke var et problem og ikke bruge tabelindekser, idet den fulde tabel blev indlæst i hukommelsen.
Vigtigste egenskaber ved SQL Query Optimization Tools
Som vi har bestemt, er hovedfunktionen af en SQLVærktøjet Query Optimizer er at forsøge at bestemme den bedste måde at køre forespørgslen ved at analysere forskellige forespørgselsplaner. Alle de værktøjer, der gennemgås her, vil i det mindste til det, men nogle tilbyder meget mere funktionalitet. Lad os se på nogle af de vigtigste funktioner, der ofte findes i SQL-forespørgselsoptimeringsværktøjer.
Grundlæggende SQL Tuning
Dette er kernefunktionaliteten i SQL QueryOptimeringsværktøjer. Det er processen med at omskrive SQL-sætninger forskelligt med det mål at forbedre effektiviteten af forespørgslen og stadig få det samme resulterende datasæt. Værktøjet fungerer ved at måle udførelsestiden for forespørgslen for de forskellige versioner af forespørgslen (forespørgselsplaner) og vælge den, der udføres hurtigst.
Support til databasemaskiner
De fleste værktøjer understøtter i det mindste det mest almindeligedatabasemotorer som Microsoft SQL, Oracle, MySQL, PostgreSQL og MariaDB. Andre vil støtte et bredere udvalg, og andre vil alligevel kun støtte et. Det er vigtigt at vælge et værktøj, der kan understøtte alle de motorer, du bruger,
Cloudbaseret databasesupport
Nogle SQL-forespørgselsoptimeringsværktøjer er i stand tilanalysere og optimere cloud-hostede databaser som Microsoft SQL Azure eller AWS RDS. Cloud support varierer meget fra værktøj til værktøj. Igen er det vigtigt at vælge en, der understøtter det, du har. Bemærk, at de fleste værktøjer, der understøtter skydatabaser, også understøtter lokale.
De bedste SQL Query Optimeringsværktøjer og software
Tiden er endelig inde til at afsløre - oggennemgang - de bedste SQL-forespørgselsoptimeringsværktøjer og software, vi kunne finde. Vores liste har mange forskellige typer værktøjer, der hver bringer sin egen vri til optimering. Vores vigtigste inkluderingskriterier var, at hvert produkt i det mindste hjalp manuelt med at optimere SQL-forespørgsler - de fleste gør det automatisk - og at de fungerede som annonceret. Vi vil ikke have, at du spilder tid på produkter, der ikke gør, hvad de skulle.
1. SolarWinds Database Performance Analyzer (Gratis prøveversion)
Vores første produkt er fra SolarWinds, et firmader har nydt et fremragende ry for at fremstille nogle af de bedste værktøjer til netværk og systemadministration i det meste af tyve-årige eksistens. Dets flagskibsprodukt kaldet SolarWinds Network Performance Monitor betragtes af mange som en af de allerbedste netværksbåndbreddeovervågningssoftware. Nogle af SolarWinds 'berømmelse kommer også fra de mange gratis værktøjer, den tilbyder. Det er mindre værktøjer, der hver især vedrører en bestemt opgave fra netværksadministratorer. To fremragende eksempler på disse værktøjer er Advanced Subnet Calculator og Kiwi Syslog Server.
Til SQL Query-optimering er det, du dog har brug for, SolarWinds Database Performance Analyzer (DPA), et databasestyringsværktøj bygget til SQL-forespørgselpræstationsovervågning, analyse og tuning. Den overvåger og analyserer dine SQL-database-forekomster, og ved hjælp af en responstidsanalysemetode, der sætter det primære fokus på tiden mellem en forespørgsel om anmodning og det tilsvarende svar fra databasen, analyserer ventetyper og begivenheder for at fastlægge flaskehalse i databaser.

- GRATIS PRØVEVERSION: SolarWinds Database Performance Analyzer
- Download link: https://www.solarwinds.com/database-performance-analyzer
Værktøjet, som også er godt til fejlfindinghar en brugervenlig grænseflade, der hjælper dig med at finde problemer hurtigt og nemt. På hovedskærmen kan du se databasesituationer, ventetider, råd om forespørgsler, CPU (med advarsler og kritiske advarsler), hukommelse, disk og sessioner.
Når der bores ned, er trendpanelet for aspecifik database-forekomst viser dig i grafisk format de samlede ventetider (eller dit valg af gennemsnitlige eller typiske dag-ventetider) for brugere i løbet af en måned. På denne graf repræsenterer hver farve en individuel SQL-sætning, hvilket giver dig en visuelt tiltalende repræsentation af hvilken udsagn der tager længst at køre.
Selv om dette produkt ikke er en ægte SQL-forespørgseloptimeringsværktøjer, nogle af dens funktioner kan hjælpe dig med det. For eksempel kan det overvåge og måle udførelsestid for forespørgsler, og det vil også give nogle indstillinger om rådgivning, selvom det har en tendens til at være relateret til databasekonfigurationen snarere end forespørgselskoden.
Prisen for SolarWinds Database Performance Analyzer starter ved $ 1 995 og varierer afhængigt afantal og type databaseforekomster, der skal overvåges. Hvis du ønsker at give produktet en testkørsel, før du køber det, er en fuldt funktionel 14-dages prøveversion tilgængelig.
2. SQL Query Tuner til SQL Diagnostic Manager
Det SQL Diagnostic Manager er et af de mest tilgængelige databaseovervågningsværktøjer. Men når du supplerer det med SQL-forespørgselstuner, hvad du får er en af de bedste SQL-forespørgsleroptimeringsværktøjer. Dens fordele er flere. Den identificerer problematiske SQL-forespørgsler via databaseprofilering af ventetidsanalyse. Det kan også give dig automatisk genererede tuninganbefalinger med SQL-forespørgselsindstillingsguiden. Værktøjet vil verificere SQL-forespørgslerens ydeevne gennem belastningstest i simulerede produktionsmiljøer.
Det SQL Query Tuner identificerer hurtigt og nemt SQL-forespørgsler derforårsage dårlig databaseydelse via databaseprofilering og vise en grafisk visualisering af ventetidsanalyse. Det vil overvåge en hel datakilde inden for et konfigurerbart tidsrum med kontinuerlig profilering. Som resultat får du en bedre forståelse af, hvordan SQL Server planlægger at udføre SQL-forespørgsler og de forskellige ydelsesomkostninger.

Dette værktøj vises automatisk genereretforeslåede løsninger med SQL-forespørgselsindstillingsguiden, der giver en væsentlig kontekst for indstilling af SQL-forespørgsler. Det indeholder farvekodet indeksanalyse af brugte, ikke anvendte og manglende indekser med anbefalinger til optimal ydelse. Du kan generere mulige tilfælde og finde det bedste alternativ til en given SQL-sætning ved at inkludere omskrivninger af SQL-forespørgsler og tip til injektioner.
Det SQL Query-tuner har unikke visuelle SQL-forespørgselsindstillingsdiagrammersom giver dig mulighed for at forstå indvirkningen af SQL-sætninger på databasen ved hjælp af diagrammerne i stedet for komplicerede eksekveringsplaner. Indekser og begrænsninger på tabeller og visninger vises med tabelstatistikker, og sammenføjningerne, der bruges i en SQL-sætning (såsom Cartesian-sammenføjninger, implicitte kartesiske sammenføjninger og mange-til-mange-forhold) med diagrammerne.
Kontroller ydelsen af eksisterende ogalternative SQL-forespørgsler mod databasen via belastningstest. Konfigurer SQL-forespørgsler til at køre flere gange parallelt og se, hvordan de reagerer på simulerede produktionsmiljøer uden risikoen for faktisk test i produktionen. Ved hjælp af dette værktøj kan du indstille dårlige resultater af SQL-forespørgsler til SQL Server fra en intuitiv interface.
Det SQL Query Tuner er en tilføjelse til SQL Diagnostic Manager. Det ejer du ikke allerede dette produkt, begge kan købes sammen som SQL Diagnostic Manager Pro for $ 2 156 pr. licens er en gratis 14-dages prøveperiode uden krav om kreditkort også tilgængelig fra produktets leverandør
3. SQL Server Management Studio
Hvis din databaseserver er en Microsoft SQL Server, måske Microsofts eget værktøj, SQL Server Management Studio (SSMS), er alt hvad du har brug for. Som du måske ved, bruges værktøjet - som først blev lanceret først lanceret med Microsoft SQL Server 2005 - til konfigurering, styring og administration af alle komponenter inden for Microsoft SQL Server. Det inkluderer både script-redaktører og grafiske værktøjer, der fungerer med objekter og funktioner i serveren. Hvad du muligvis ikke ved, er, at et af SSMS's værktøjer, the SQL Server Database Engine Tuning Advisor (DTA) kan bruges til SQL-forespørgselsoptimering.

DTA's primære formål er at analysere databaserog give anbefalinger. I henhold til Microsofts officielle dokumentation kan værktøjet hjælpe dig med at fejlfinde udførelsen af en bestemt problemforespørgsel, indstille et stort sæt forespørgsler på tværs af en eller flere databaser, udføre en sonderende analyse af hvad-hvis-analyse af potentielle fysiske designændringer og styre lagerplads.
En af de bedste ting ved SQL Server Management Studio er dens pris. Dette er et gratis værktøj fra Microsoft, som du kan bruge til styring af ikke kun SQL Server men også Azure SQL-database. Det er måske ikke det mest brugervenlige værktøj derude, men i betragtning af dets pris kan det være værd at se på.
4. EverSQL
EverSQL er interessant, da det er et af de få online SQL-optimeringsværktøjer. Administratorer kan bruge dette værktøj til at få forespørgsler om tuning af forespørgsler og forslag til forbedring af indeksering. Databasestøtte i EverSQL er noget begrænset. Det understøtter dog de mest populære betalte og gratis databaser med open source, inklusive MSSQL, Oracle, MySQL, MariaDB og PerconaDB. Faktisk, da dette er et offline værktøj, der ikke har nogen forbindelse til din database, kunne det teoretisk set optimere og SQL-forespørgsel, men det vil gøre et bedre job, hvis det ved, hvilken type databasemotor der vil behandle den optimerede forespørgsel.

Brug af værktøjet er superenkelt. Du opretter forbindelse til webstedet, vælger din databasetype og -version og indsætter SQL-forespørgselskoden. For at få indekseringsanbefalinger og for at give værktøjet mulighed for at anvende avancerede forespørgselstransformationer, kan du valgfrit uploade din databases skemastruktur. Du klikker på "Næste" og inden for få sekunder får du den optimerede version af din forespørgsel sammen med nogle indekseringsanbefalinger.
EverSQL gør dog ikke kun forespørgseloptimeringer. Et par andre gratis og nyttige online-værktøjer tilbydes også. Der er f.eks. En SQL Query Syntax Check & Validator, en Query Minifier for SQL Statements og en Query Formatter.
Prisstrukturen for EverSQL er enkel. Du kan vælge en gratis plan, der giver dig en gratis forespørgseloptimering pr. Dag i 30 dage. Dette er prøveplanen. Derefter har du den grundlæggende plan til $ 29 / måned, der inkluderer 10 månedlige optimeringer og Plus-planen til $ 135 / måned med 30 optimeringer per måned og live chat support. Tilpassede planer kan også arrangeres for at imødekomme dine specifikke behov.
5. SentryOne Plan Explorer
Plan Explorer er et gratis værktøj fra SentryOne. Det er en af de bedste analyser af SQL-forespørgsler ogoptimeringsværktøjer. Dette værktøj kan hjælpe dig med hurtigt at komme til roden af de hårdeste SQL Server-forespørgselsproblemer. Det er lavet af flere moduler. Indeksanalysen bruger scoringsalgoritmer til at hjælpe dig med at bestemme det bedste indeks til understøttelse af en given forespørgsel. Du kan nemt se anbefalede indekser, oprette og ændre indekser og registrere og opdatere gamle statistikker.
Statistikanalysemodulet viser digpåvirkning af kompilerede og runtime forespørgselsparametre på ydelsen. Dette giver dig mulighed for hurtigt at se dataskæv, der kan bidrage til problemer med parameterværn, visualisere potentielle stigende nøgelproblemer og identificere muligheder for filtrerede indekser.

Forespørgselsresultatets profilering og afspilningmodulet vil afspille forespørgsler og få adgang til deres liveprestationsstatistikker. Ved hjælp af dette værktøj kan du afspille forespørgselsprofilen for at se nøjagtigt, hvilke operatører der tilføjer den mest belastning på systemressourcer. Det er ikke nødvendigt at køre forespørgslen igen.
Mens de fleste SQL-forespørgselsoptimeringsværktøjer bruger anslåede planomkostninger, Plan Explorer kan vise de faktiske observerede omkostninger. Og du kan se omkostningsforskellen ved at skifte mellem visningen mellem estimeret og faktisk. Der er flere funktioner til dette gratis værktøj, end vi har tid til at præsentere dem. Men da det er et gratis værktøj, vil du måske prøve det og se selv.
6. dbForge Studio til SQL Server
Devart’s dbForge Studio til SQL-server er et alt-i-én SQL-server GUI-værktøj, der kan værebruges til SQL Server-styring, administration, udvikling, datarapportering, analyse, optimering og mere. SQL-udviklere og databaseadministratorer kan bruge GUI-værktøjet til at fremskynde næsten alle komplekse databaseopgaver såsom design af databaser, skrivning af SQL-kode, sammenligning af databaser, synkronisering af skemaer og data, generering af meningsfulde testdata, blandt andre.

dbForge Studio til SQL-server inkluderer SQL Query Plan Tool, et dedikeret værktøj til optimering af forespørgsler. Dets funktion til eksekveringsplandiagram hjælper med at visualisere og indstille udførelsesplan for forespørgsel ved at fastlægge de langsomt udførende knudepunkter. Værktøjets fane Vent statistikker gør det nemt for dig at opdage potentielle flaskehalse i din forespørgsel ved at vise en liste over begivenheder og venter, der er tilknyttet dem. Yo kan også bruge værktøjets plantræ til at få oplysninger om, hvordan SQL Server udfører en SELECT-sætning. Det viser dig hvor tilføjelse af et indeks til en tabel eller optimering af tabelforbindelse for eksempel kan øge ydelsen.
Værktøjet, der også kaldes T-SQL Query Profiler, er indbygget i Standard, Profesional ogEnterprise-versioner af dbForge Studio til SQL-server, der er prissat til henholdsvis $ 249,95, $ 499,95 og $ 699,95. En gratis 30-dages prøveversion af hele produktet - ikke kun værktøjet til forespørgseloptimering - er tilgængeligt.
Kommentarer