6 bästa verktyg för SQL-frågeoptimering 2020

click fraud protection

Data är allt och följaktligen finns SQL överallt. The Structured Query Language har blivit det mest använda frågespråket och det stöds av de flesta moderna relationsdatabashanteringssystem. Faktum är att dess användning är så utbredd att vi ofta hänvisar till databasservrar som SQL-servrar.

Språket definierar hur frågor kan skapas för att extrahera den exakta data som krävs från en databas. Med tanke på mångfalden av moderna databaser med dussintals sammanfogade tabeller kan SQL-frågor vara ganska komplexa. Med ökad komplexitet kommer minskad prestanda. SQL-frågeoptimering gör att man kan finjustera frågor så att de returnerar rätt data så snabbt som möjligt. Optimering av SQL-frågor kan göras manuellt, men verktyg finns för att hjälpa till att optimera dem. Vi ska granska några av de bästa verktygen vi har hittat.

Eftersom vi vill att alla ska vara på samma sida när vi recenserar de bästa produkterna, börjar vi med att diskutera vad och hur det är med SQL-frågeoptimering. Sedan kommer vi att diskutera huvudfunktionerna i SQL-frågeoptimeringsverktyg. Olika verktyg erbjuder olika funktioner, som du snart kommer att se. Vi kommer att göra vårt bästa för att reda ut de väsentliga funktionerna som du bör leta efter när du väljer det bästa verktyget för dina specifika behov. Och slutligen kommer vi att granska de bästa verktygen vi kunde hitta.

instagram viewer

Frågeoptimering i SQL-servrar

Enkelt uttryckt är SQL-frågeoptimering handlingen att analysera SQL-frågor och bestämma den mest effektiva exekveringsmekanismen. Det är ofta en trial-and-error-process där olika frågor testas för att se vilken som ger bäst prestanda, samtidigt som den eftersökta data returneras. Frågeoptimerare är ibland inbyggda i databashanteringssystem, men externa verktyg från tredje part anses ofta ge bättre resultat. En typisk frågeoptimerare genererar en eller flera frågeplaner för varje fråga, som var och en är en mekanism som används för att köra frågan. Prestanda (dvs exekveringstiden) för varje mäts och den mest effektiva frågeplanen väljs och används för att köra frågan. Medan vissa SQL-frågeoptimeringsverktyg är enklare hjälpprogram som kräver mycket mänsklig hjälp, gör de bästa systemen det mesta av sitt arbete i bakgrunden.

Här är ett snabbt exempel på frågeoptimering. Om en användare kör en fråga som väljer ungefär hälften av en tabells data vid en tidpunkt när servern är tungt belastad med flera samtidiga anslutningar. I en sådan situation kan frågeoptimeraren välja att använda en frågeplan som använder tabellindexen för att tillfredsställa frågan, baserat på begränsade resurser. Om du gör det kan det minska frågans dränering på serverresurser. Om användaren körde samma fråga vid en annan tidpunkt när fler serverresurser fanns tillgängliga, kunde frågeoptimeraren har fastställt att resursbegränsning inte var ett problem och använder inte tabellindex, laddar in hela tabellen minne.

Huvudkännetecken för SQL Query Optimization Tools

Som vi har bestämt är huvudfunktionen hos ett SQL Query Optimizer-verktyg att försöka fastställa det bästa sättet att köra frågan genom att analysera olika frågeplaner. Alla verktyg som granskas här kommer åtminstone att göra det, men vissa erbjuder mycket mer funktionalitet. Låt oss ta en titt på några av de viktigaste funktionerna som vanligtvis finns i verktyg för SQL-frågeoptimering.

Grundläggande SQL-tuning

Detta är kärnfunktionen i SQL Query Optimization-verktyg. Det är processen att skriva om SQL-satser annorlunda med målet att förbättra prestandan för frågan samtidigt som man får samma resulterande datamängd. Verktyget fungerar genom att mäta frågekörningstiden för de olika versionerna av frågan (frågeplaner) och välja den som körs snabbast.

Databasmotorstöd

De flesta verktyg kommer åtminstone att stödja de vanligaste databasmotorerna som Microsoft SQL, Oracle, MySQL, PostgreSQL och MariaDB. Andra kommer att stödja ett bredare urval och andra kommer ändå bara att stödja ett. Det är viktigt att välja ett verktyg som kan stödja alla motorer du använder,

Molnbaserat databasstöd

Vissa SQL-frågeoptimeringsverktyg kan analysera och optimera molnbaserade databaser som Microsoft SQL Azure eller AWS RDS. Molnstödet varierar mycket från verktyg till verktyg. Återigen, det är viktigt att välja en som stöder det du har. Observera att de flesta verktyg som stöder molndatabaser också stöder lokala sådana.

Bästa verktyg och programvara för SQL-frågeoptimering

Det är äntligen dags att avslöja – och granska – de bästa verktygen och programvaran för SQL-frågeoptimering vi kunde hitta. Vår lista har många olika typer av verktyg, var och en med sin egen twist till optimering. Våra huvudsakliga inklusionskriterier var att varje produkt åtminstone hjälpte till att manuellt optimera SQL-frågor – de flesta gör det automatiskt – och att de fungerade som annonserade. Vi skulle inte vilja att du slösar tid på produkter som inte gör vad de borde.

Vår första produkt kommer från SolarWinds, ett företag som har haft ett utmärkt rykte för att tillverka några av de bästa nätverks- och systemhanteringsverktygen under de flesta av sina tjugoåriga existens. Dess flaggskeppsprodukt kallad SolarWinds Network Performance Monitor ses av många som en av de allra bästa mjukvarorna för övervakning av nätverksbandbredd. En del av SolarWinds berömmelse kommer också från de många gratisverktyg som den erbjuder. De är mindre verktyg som vart och ett tar upp en specifik uppgift för nätverksadministratörer. Två utmärkta exempel på dessa verktyg är Advanced Subnet Calculator och Kiwi Syslog Server.

För SQL Query-optimering behöver du dock SolarWinds Database Performance Analyzer (DPA), ett databashanteringsverktyg byggt för övervakning, analys och justering av SQL-frågeprestanda. Den övervakar och analyserar dina SQL-databasinstanser och använder en svarstidsanalysmetod som sätter det primära fokus på tiden mellan en frågeförfrågan och motsvarande svar från databasen, analyserar väntetyper och händelser för att lokalisera flaskhalsarna för databaser.

SolarWinds Databas Performance Analyzer
  • GRATIS PRÖVNING: SolarWinds Databas Performance Analyzer
  • Nedladdningslänk:https://www.solarwinds.com/database-performance-analyzer

Verktyget, som också är utmärkt för felsökning, har ett lättanvänt gränssnitt som hjälper dig att hitta problem snabbt och enkelt. Huvudskärmen låter dig se databasinstanser, väntetider, frågeråd, CPU (med varningar och kritiska varningar), minne, disk och sessioner.

När du borrar ner visar trendpanelen för en specifik databasinstans dig i ett grafiskt format totala väntetider (eller ditt val av genomsnittliga eller typiska dagars väntetider) för användare under loppet av en månad. På den grafen representerar varje färg en individuell SQL-sats, vilket ger dig en visuellt tilltalande representation av vilken sats som tar längst tid att köra.

Även om den här produkten inte är ett äkta SQL-frågeoptimeringsverktyg, kan några av dess funktioner hjälpa dig med det. Till exempel kan den övervaka och mäta exekveringstiden för frågor och den kommer också att ge några justeringar, även om det tenderar att vara relaterat till databaskonfigurationen snarare än frågekoden.

Priset för SolarWinds Databas Performance Analyzer börjar på $1 995 och varierar beroende på antalet och typen av databasinstanser som ska övervakas. Om du vill provköra produkten innan du köper den, en fullt fungerande 14-dagars provversion är tillgänglig.

2. SQL Query Tuner för SQL Diagnostic Manager

De SQL Diagnostic Manager är ett av de bästa tillgängliga databasövervakningsverktygen. Men när man kompletterar det med SQL-frågetuner, vad du får är ett av de bästa verktygen för SQL-frågeoptimering. Dess fördelar är flera. Den identifierar problematiska SQL-frågor via databasprofilering av väntetidsanalys. Det kan också ge dig automatiskt genererade justeringsrekommendationer med guiden för justering av SQL-frågor. Verktyget kommer att verifiera SQL-frågors prestanda genom belastningstester i simulerade produktionsmiljöer.

De SQL Query Tuner kommer snabbt och enkelt att identifiera SQL-frågor som orsakar dålig databasprestanda via databasprofilering och visa en grafisk visualisering av väntetidsanalys. Den kommer att övervaka en hel datakälla inom en konfigurerbar tidsrymd med kontinuerlig profilering. Som ett resultat kommer du att få en bättre förståelse för hur SQL Server planerar att köra SQL-frågor och de olika prestationskostnaderna.

SQL Query Tuner Skärmdump

Det här verktyget kommer att presentera automatiskt genererade föreslagna lösningar med guiden för inställning av SQL-frågor, som ger en viktig kontext för att ställa in SQL-frågor. Den har färgkodad indexanalys av använda, ej använda och saknade index med rekommendationer för optimal prestanda. Du kan generera möjliga fall och hitta det bästa alternativet till en given SQL-sats genom att inkludera SQL-frågaomskrivningar och tipsinjektioner.

De SQL Query-tuner har unika visuella SQL-frågejusteringsdiagram som låter dig förstå effekten av SQL-satser på databasen med hjälp av diagrammen istället för komplicerade exekveringsplaner. Index och begränsningar på tabeller och vyer visas med tabellstatistik, och kopplingarna används i en SQL uttalande (som kartesiska kopplingar, underförstådda kartesiska kopplingar och många-till-många-relationer) med diagram.

Verifiera prestandan för befintliga och alternativa SQL-frågor mot databasen via belastningstestning. Konfigurera SQL-frågor så att de körs flera gånger parallellt och att observera hur de svarar på simulerade produktionsmiljöer utan risk för att faktiskt testa i produktionen. Med det här verktyget kan du ställa in dåligt presterande SQL-frågor för SQL Server från ett intuitivt gränssnitt.

De SQL Query Tuner är ett tillägg till SQL Diagnostic Manager. Om du inte redan äger den produkten kan båda köpas tillsammans som SQL Diagnostic Manager Pro för $2 156 per licens är en gratis 14-dagars provperiod utan kreditkort också tillgänglig från produktens leverantör

3. SQL Server Management Studio

Om din databasserver är en Microsoft SQL Server, kanske Microsofts eget verktyg, SQL Server Management Studio (SSMS), är allt du behöver. Som du kanske vet används verktyget – som först lanserades först med Microsoft SQL Server 2005 – för att konfigurera, hantera och administrera alla komponenter i Microsoft SQL Server. Den innehåller både skriptredigerare och grafiska verktyg som arbetar med objekt och funktioner i serven. Vad du kanske inte vet är att ett av SSMS: s verktyg, SQL Server Database Engine Tuning Advisor (DTA) kan användas för SQL-frågeoptimering.

SQL Server Management Studio Skärmdump

DTA: s primära syfte är att analysera databaser och ge rekommendationer. Enligt Microsofts officiella dokumentation kan verktyget hjälpa dig att felsöka prestandan för en specifik problemfråga, ställa in en stor uppsättning frågor över en eller flera databaser, utför en utforskande vad-om-analys av potentiella fysiska designförändringar och hantera lagring Plats.

En av de bästa sakerna med SQL Server Management Studio är dess pris. Detta är ett gratisverktyg från Microsoft som du kan använda för att hantera inte bara SQL Server utan även Azure SQL Database. Det kanske inte är det mest användarvänliga verktyget som finns, men med tanke på priset kan det vara värt att titta på.

4. EverSQL

EverSQL är intressant eftersom det är ett av få online SQL-optimeringsverktyg. Administratörer kan använda det här verktyget för att få rekommendationer för justering av sökfrågor och förslag på indexeringsförbättringar. Databasstöd i EverSQL är något begränsad. Det stöder dock de flesta populära betalda och gratis och öppen källkodsdatabasmotorer inklusive MSSQL, Oracle, MySQL, MariaDB och PerconaDB. Faktum är att eftersom detta är ett offlineverktyg som inte har någon koppling till din databas, skulle det teoretiskt sett kunna optimera och SQL-fråga men det kommer att göra ett bättre jobb om det vet vilken typ av databasmotor som kommer att bearbeta den optimerade fråga.

EverSQL skärmdump

Att använda verktyget är superenkelt. Du ansluter till webbplatsen, väljer din databastyp och version och klistrar in SQL-frågakoden. För att få indexeringsrekommendationer och för att tillåta verktyget att tillämpa avancerade frågetransformationer kan du eventuellt ladda upp din databas schemastruktur. Du klickar på "Nästa" och inom några sekunder får du den optimerade versionen av din fråga tillsammans med några indexeringsrekommendationer.

EverSQL gör dock inte bara frågeoptimeringar. Några andra gratis och användbara onlineverktyg erbjuds också. Det finns till exempel en SQL Query Syntax Check & Validator, en Query Minifier för SQL Statements och en Query Formatter.

Prisstrukturen för EverSQL det är enkelt. Du kan välja mellan en gratis plan som ger dig en gratis frågeoptimering per dag i 30 dagar. Detta är försöksplanen. Därefter har du grundplanen på $29/månad som inkluderar 10 månatliga optimeringar och Plus-planen på $135/månad med 30 optimeringar per månad och livechattsupport. Skräddarsydda planer kan också ordnas för att möta dina specifika behov.

5. SentryOne Plan Explorer

Plan Explorer är ett gratis verktyg från SentryOne. Det är ett av de bästa SQL-frågeanalys- och optimeringsverktygen. Det här verktyget kan hjälpa dig att snabbt komma till roten till de svåraste SQL Server-frågeproblemen. Den är gjord av flera moduler. Indexanalysen använder poängalgoritmer för att hjälpa dig att bestämma det bästa indexet för att stödja en given fråga. Du kan enkelt se rekommenderade index, skapa och ändra index och upptäcka och uppdatera gammal statistik.

Statistikanalysmodulen visar effekten av kompilerade frågeparametrar och körtidsfrågeparametrar på prestanda. Detta låter dig snabbt upptäcka skevhet i data som kan bidra till problem med parametersniffning, visualisera potentiella stigande nyckelproblem och identifiera möjligheter för filtrerade index.

Plan Explorer Skärmdump

Modulen Query Performance Profiling och Playback kommer att spela om frågor och få tillgång till deras liveprestandastatistik. Med det här verktyget kan du spela upp frågeprofilen för att se exakt vilka operatörer som belastar systemresurserna mest. Det finns ingen anledning att köra frågan igen.

Medan de flesta SQL-frågeoptimerare använder beräknad plankostnad, Plan Explorer kan visa de faktiska observerade kostnaderna. Och du kan se kostnadsskillnaden genom att växla vyn mellan Beräknad och Faktisk. Det finns fler funktioner i detta gratisverktyg än vi hinner presentera dem. Men eftersom det är ett gratis verktyg kanske du vill prova det och se själv.

6. dbForge Studio för SQL Server

Devarts dbForge Studio för SQL-server är ett allt-i-ett SQL-server GUI-verktyg som kan användas för SQL Server-hantering, administration, utveckling, datarapportering, analys, optimering och mer. SQL-utvecklare och databasadministratörer kan använda GUI-verktyget för att påskynda nästan alla komplexa databasuppgifter som design databaser, skriva SQL-kod, jämföra databaser, synkronisera scheman och data, generera meningsfull testdata, bland annat.

Översikt över dbForge Studio för SQL Server-administration

dbForge Studio för SQL-server inkluderar SQL Query Plan Tool, ett dedikerat verktyg för frågeoptimering. Dess funktion för exekveringsplandiagram hjälper till att visualisera och finjustera exekveringsplanen för frågor genom att lokalisera de långsamt exekverande noderna. Verktygets flik Väntestatistik låter dig enkelt upptäcka potentiella flaskhalsar i din fråga genom att visa en lista över händelser och väntan som är kopplade till dem. Du kan också använda verktygets planträd för att få information om hur SQL Server exekverar en SELECT-sats. Det kommer att visa dig var att till exempel lägga till ett index i en tabell eller optimera tabellanslutningen kan öka prestandan.

Verktyget, som också är känt som T-SQL Query Profiler, är inbyggd i Standard-, Profesional- och Enterprise-versionerna av dbForge Studio för SQL-server som kostar $249,95, $499,95 respektive $699,95. En gratis 30-dagars testversion av hela produkten – inte bara frågeoptimeringsverktyget – är tillgänglig.

watch instagram story