- - 6 bästa verktyg och programvara för SQL Query Optimization

6 bästa verktyg och programvara för SQL Query Optimization

Data är allt och därmed SQLallt. Det strukturerade frågespråket 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 refererar till databasservrar som SQL-servrar. Språket definierar hur frågor kan skapas för att extrahera från en databas exakta data som krävs. Med tanke på mångfalden av moderna databaser meddussintals sammanfogade tabeller, SQL-frågor kan vara ganska komplicerade. Med ytterligare komplexitet kommer reducerad prestanda. Med SQL-frågaoptimering kan man 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 det finns verktyg för att hjälpa till att optimera dem. Vi håller på att granska några av de bästa verktygen vi har hittat.

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

SQL Query Optimization, Vad och varför

Enkelt uttryckt är SQL-frågaoptimering handlingen avanalysera SQL-frågor och bestämma den mest effektiva exekveringsmekanismen. Det är ofta en test-och-fel-process där olika frågor testas för att se vilken som erbjuder den bästa prestandan, samtidigt som du returnerar den eftersökta informationen. Frågaoptimerare är ibland inbyggda i databashanteringssystem men externa verktyg från tredje part tros ofta ge bättre resultat. En typisk frågeoptimerare genererar en eller flera frågeplaner för varje fråga, var och en är en mekanism som används för att köra frågan. Prestandan (dvs. exekveringstiden) för varje mäts och den mest effektiva frågeflanen väljs och används för att köra frågan. Medan vissa SQL-sökoptimeringsverktyg ä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ågaoptimering. Om en användare kör en fråga som väljer ungefär hälften av tabellens data i taget när servern har ett kraftigt uppdrag med flera samtidiga anslutningar. I en sådan situation kan frågaoptimeraren besluta att använda en frågeplan som använder tabellindex för att tillfredsställa frågan, baserat på begränsade resurser. Om du gör det kan det minska förfrågan på serverresurser. Om användaren körde samma fråga vid en annan tidpunkt då fler serverresurser fanns tillgängliga, kunde frågeaptimeraren ha fastställt att resursbegränsningen inte var ett problem och inte använda tabellindex och ladda hela tabellen i minnet.

Huvudkaraktäristik för SQL Query Optimization Tools

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

Grundläggande SQL-inställning

Detta är kärnfunktionen i SQL QueryOptimeringsverktyg. Det är processen att skriva om SQL-uttalanden på ett annorlunda sätt med målet att förbättra resultatet för frågan och samtidigt få samma resulterande datauppsättning. Verktyget fungerar genom att mäta frågetidens körningstid för de olika versionerna av frågan (frågeplaner) och välja den som kör snabbast.

Support för databasmotorer

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

Molnbaserad databasstöd

Vissa SQL-sökoptimeringsverktyg kananalysera och optimera databaser med moln-värd som Microsoft SQL Azure eller AWS RDS. Molnsupport varierar mycket från verktyg till verktyg. Återigen är det viktigt att välja en som stöder det du har. Observera att de flesta verktyg som stöder molndatabaser också kommer att stödja lokala.

De bästa verktyg och programvara för SQL Query Optimization

Tiden har äntligen kommit att avslöja - ochgranskning - de bästa SQL-sökoptimeringsverktygen och programvaran vi kunde hitta. Vår lista har många olika typer av verktyg, var och en ger sin egen twist till optimering. Våra viktigaste inkluderingskriterier var att varje produkt åtminstone hjälpte till att optimera SQL-frågor manuellt - de flesta gör det automatiskt - och att de fungerade som annonserade. Vi skulle inte vilja att du slösar bort tid på produkter som inte gör vad de borde.

1. SolarWinds Database Performance Analyzer (GRATIS prövning)

Vår första produkt är från SolarWinds, ett företagsom har haft ett utmärkt rykte för att göra några av de bästa nätverks- och systemhanteringsverktygen för de flesta av de tjugo-åriga existensen. Dess flaggskeppsprodukt, kallad SolarWinds Network Performance Monitor, ses av många som en av de allra bästa programvarorna för övervakning av bandbredd för nätverk. En del av SolarWinds berömmelse kommer också från de många gratisverktyg som den erbjuder. De är mindre verktyg, var och en adresserar 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 är det du behöver dock SolarWinds Database Performance Analyzer (DPA), ett databashanteringsverktyg som är byggt för SQL-frågaprestationsövervakning, analys och inställning. Den övervakar och analyserar dina SQL-databasinstanser och använder en metod för responstidsanalys som sätter det primära fokuset på tiden mellan en frågeanmodan och motsvarande svar från databasen, analyserar väntetyper och händelser för att fastställa flaskhalsar i databaser.

SolarWinds Database Performance Analyzer

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

Verktyget, som också är bra för felsökninghar ett användarvänligt gränssnitt som hjälper dig att hitta problem snabbt och enkelt. På huvudskärmen kan du se databasinstanser, väntetider, frågeställningar, CPU (med varning och kritiska varningar), minne, disk och sessioner.

Vid borrning är trendpanelen för aspecifik databasinstans visar dig i ett grafiskt format de totala väntetiderna (eller ditt val av genomsnittliga eller typiska dagväntetider) för användare under en månad. På den grafen representerar varje färg ett individuellt SQL-uttalande, vilket ger dig en visuellt tilltalande representation av vilket uttalande som tar längst tid att köra.

Även om denna produkt inte är en riktig SQL-frågaoptimeringsverktyg, några av dess funktioner kan hjälpa dig med det. Det kan till exempel övervaka och mäta körningstiden för frågan och det kommer också att ge några råd om inställning även om det tenderar att vara relaterat till databaskonfigurationen snarare än frågekoden.

Priset för SolarWinds Database Performance Analyzer börjar på 1 995 $ och varierar beroende påantal och typ av databasinstanser att övervaka. Om du vill ge produkten en testkörning innan du köper den, är en fullständig 14-dagars provversion 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 du kompletterar det med SQL-frågestuner, vad du får är en av de bästa SQL-frågornaoptimeringsverktyg. Dess fördelar är flera. Den identifierar problematiska SQL-frågor via databasprofilering av väntetidsanalys. Det kan också ge dig automatiskt genererade avstämningsrekommendationer med SQL-sökningsguiden. Verktyget kommer att verifiera prestanda i SQL-frågor genom belastningstest i simulerade produktionsmiljöer.

De SQL Query Tuner kommer snabbt och enkelt att identifiera SQL-frågor somorsaka dålig databasprestanda via databasprofilering och visa en grafisk visualisering av väntetidsanalysen. Den övervakar en hel datakälla inom ett konfigurerbart tidsintervall med kontinuerlig profilering. Som resultat får du en bättre förståelse för hur SQL Server planerar att utföra SQL-frågor och de olika prestandakostnaderna.

SQL Query Tuner Screenshot

Detta verktyg kommer att presenteras automatiskt genereratföreslagna lösningar med SQL-frågeställningsguiden som ger ett väsentligt sammanhang 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 ett givet SQL-uttalande genom att inkludera SQL-fråga omskrivningar och tips om injektioner.

De SQL Query-mottagare har unika visuella SQL-frågestämningsdiagramsom låter dig förstå påverkan av SQL-uttalanden på databasen med hjälp av diagram i stället för komplicerade exekveringsplaner. Index och begränsningar för tabeller och vyer visas med tabellstatistik, och de sammanfogningar som används i ett SQL-uttalande (som kartesianska sammanfogningar, implicerade kartesiska sammanfogningar och många-till-många-förhållanden) med diagrammen.

Verifiera prestanda för befintliga ochalternativa SQL-frågor mot databasen via belastningstest. Konfigurera SQL-frågor för att köra flera gånger parallellt och för att se hur de svarar på simulerade produktionsmiljöer utan risken att faktiskt testa i produktionen. Med det här verktyget kan du ställa in SQL-frågor för SQL Server med dåligt resultat från ett intuitivt gränssnitt.

De SQL Query Tuner är ett tillägg till SQL Diagnostic Manager. Det du inte redan äger den produkten, båda kan köpas tillsammans som SQL Diagnostic Manager Pro för 2 156 USD per licens finns också en kostnadsfri 14-dagars provperiod utan kreditkort krävs från produktleverantören

3. SQL Server Management Studio

Om din databaseserver är en Microsoft SQL Server, kanske Microsofts eget verktyg, SQL Server Management Studio (SSMS), är allt du behöver. Som ni kanske använder verktyget - som först lanserades först med Microsoft SQL Server 2005 - för att konfigurera, hantera och administrera alla komponenter inom Microsoft SQL Server. Det innehåller både skriptredigerare och grafiska verktyg som fungerar med objekt och funktioner i serven. Det 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ågaoptimering.

SQL Server Management Studio Skärmdump

DTA: s huvudsakliga syfte är att analysera databaseroch ge rekommendationer. Enligt Microsofts officiella dokumentation kan verktyget hjälpa dig att felsöka resultatet för en specifik problemfråga, ställa in en stor uppsättning frågor över en eller flera databaser, utföra en undersökande analys av potentiella fysiska designförändringar och hantera lagringsutrymme.

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

4. EverSQL

EverSQL är intressant eftersom det är ett av de få SQL-optimeringsverktygen online. Administratörer kan använda det här verktyget för att få rekommendationer för frågeställning och förslag på indexeringsförbättringar. Databasstöd i EverSQL är något begränsad. Det stöder emellertid mest populära betalda och fria databaser med öppen källkod inklusive MSSQL, Oracle, MySQL, MariaDB och PerconaDB. Faktum är att eftersom detta är ett offlineverktyg som inte har någon anslutning till din databas kan det teoretiskt optimera och SQL-fråga men det kommer att göra ett bättre jobb om den vet vilken typ av databasmotor som kommer att behandla den optimerade frågan.

EverSQL-skärmdump

Att använda verktyget är superenkelt. Du ansluter till webbplatsen, väljer din databastyp och version och klistrar in SQL-frågekoden. För att få indexeringsrekommendationer och låta verktyget tillämpa avancerade frågetransformationer kan du valfritt ladda upp databasens schematstruktur. 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ågaoptimeringar. 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-uttalanden och en Query Formatter.

Prissättningsstrukturen för EverSQL det är enkelt. Du har valet av en gratis plan som ger dig en gratis frågaoptimering per dag under 30 dagar. Detta är provplanen. Därefter har du den grundläggande planen på $ 29 / månad som inkluderar 10 månatliga optimeringar och Plus-planen på $ 135 / månad med 30 optimeringar per månad och livechatsupport. Anpassade planer kan också ordnas för att tillgodose dina specifika behov.

5. SentryOne Plan Explorer

Planera Explorer är ett gratis verktyg från SentryOne. Det är en av de bästa SQL-frågeställningarna ochoptimeringsverktyg. Detta verktyg kan hjälpa dig att snabbt komma till roten till de tuffaste SQL Server-frågorna. Den är gjord av flera moduler. Indexanalysen använder poängalgoritmer för att hjälpa dig bestämma det bästa indexet för att stödja en given fråga. Du kan enkelt visa rekommenderade index, skapa och ändra index och upptäcka och uppdatera gammal statistik.

Statistikanalysmodulen visar digpåverkan av kompilerade och körtidsparametrar på prestanda. På så sätt kan du snabbt upptäcka dataskev som kan bidra till problem med att sniffa parametrar, visualisera potentiella stigande nyckelproblem och identifiera möjligheter för filtrerade index.

Plan Explorer-skärmbild

Profilerings- och uppspelning av frågautförandetmodulen kommer att spela upp frågor och få åtkomst till statistik över liveprestanda. Med det här verktyget kan du spela upp frågeprofilen för att se exakt vilka operatörer som lägger mest belastning på systemresurserna. Det finns inget behov att köra frågan igen.

Medan de flesta SQL-frågaoptimerare använder uppskattade plankostnader, Planera Explorer kan visa de faktiska observerade kostnaderna. Och du kan se kostnadsskillnaden genom att växla mellan vyn mellan uppskattade och faktiska. Det finns fler funktioner i detta gratisverktyg än vi har tid att presentera dem. Men eftersom det är ett gratis verktyg, kanske du vill prova och se själv.

6. dbForge Studio för SQL Server

Devart’s dbForge Studio för SQL-server är ett allt-i-ett SQL-server GUI-verktyg som kan varaanvänds 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 att utforma databaser, skriva SQL-kod, jämföra databaser, synkronisera scheman och data, generera meningsfulla testdata, bland andra.

dbForge Studio för SQL Server Administration Översikt

dbForge Studio för SQL-server inkluderar SQL Query Plan Tool, ett dedikerat verktyg för optimering av sökfrågor. Dess exekveringsplandiagramfunktion hjälper till att visualisera och ställa in exekveringsplanen för frågan genom att fastställa de långsamt genomförande noderna. Verktygets flik vänta statistik låter dig enkelt upptäcka potentiella flaskhalsar i din fråga genom att visa en lista över händelser och väntor som är associerade med dem. Du kan också använda verktygets planträd för att få information om hur SQL Server kör ett SELECT-uttalande. Det kommer att visa var du lägger till ett index till en tabell eller optimerar tabellförening, till exempel kan öka prestandan.

Verktyget, som också kallas T-SQL Query Profiler, är inbyggd i Standard, Profesional ochEnterprise-versioner av dbForge Studio för SQL-server som är prissatta till $ 249,95, $ 499,95 respektive $ 699,95. En kostnadsfri 30-dagars testversion av hela produkten - inte bara optimeringsverktyget för frågan - är tillgänglig.

kommentarer