6 beste tools voor het optimaliseren van SQL-query's in 2020

click fraud protection

Gegevens zijn alles en daarom is SQL overal. De Structured Query Language is de meest gebruikte querytaal geworden en wordt ondersteund door de meeste moderne relationele databasebeheersystemen. Het gebruik ervan is zelfs zo algemeen dat we databaseservers vaak SQL-servers noemen.

De taal definieert hoe query's kunnen worden gevormd om uit een database de precieze gegevens te extraheren die nodig zijn. Gezien de veelvoud aan moderne databases met tientallen samengevoegde tabellen, kunnen SQL-query's behoorlijk complex zijn. Met extra complexiteit komen verminderde prestaties. Door optimalisatie van SQL-query's kan men zoekopdrachten verfijnen zodat ze zo snel mogelijk de juiste gegevens retourneren. Het optimaliseren van SQL-query's kan handmatig worden gedaan, maar er zijn hulpmiddelen om te helpen bij het optimaliseren ervan. We staan ​​op het punt enkele van de beste tools die we hebben gevonden te beoordelen.

Omdat we willen dat iedereen op dezelfde lijn zit als we de beste producten beoordelen, beginnen we met het bespreken van het wat en de verlegenheid van SQL-queryoptimalisatie. Vervolgens bespreken we de belangrijkste kenmerken van hulpprogramma's voor het optimaliseren van SQL-query's. Verschillende tools bieden verschillende functies, zoals u zult zien. We zullen ons best doen om de essentiële functies te vinden waarnaar u moet zoeken bij het kiezen van de beste tool voor uw specifieke behoeften. En tot slot zullen we de beste tools bekijken die we konden vinden.

instagram viewer

Query-optimalisatie in SQL-servers

Simpel gezegd, SQL-queryoptimalisatie is het analyseren van SQL-query's en het bepalen van het meest efficiënte uitvoeringsmechanisme. Het is vaak een proces van vallen en opstaan ​​waarbij verschillende zoekopdrachten worden getest om te zien welke de beste prestaties biedt, terwijl toch de gewenste gegevens worden geretourneerd. Query-optimizers zijn soms ingebouwd in databasebeheersystemen, maar vaak wordt gedacht dat externe hulpprogramma's van derden betere prestatieresultaten bieden. Een typische query-optimizer genereert een of meer queryplannen voor elke query, die elk een mechanisme zijn dat wordt gebruikt om de query uit te voeren. De prestatie (d.w.z. uitvoeringstijd) van elk wordt gemeten en het meest efficiënte queryplan wordt geselecteerd en gebruikt om de query uit te voeren. Hoewel sommige hulpprogramma's voor het optimaliseren van SQL-query's eenvoudigere hulptoepassingen zijn die veel menselijke hulp vereisen, doen de beste systemen het meeste van hun werk op de achtergrond.

Hier is een kort voorbeeld van query-optimalisatie. Als een gebruiker een query uitvoert die ongeveer de helft van de gegevens van een tabel selecteert op een moment dat de server zwaar wordt belast met meerdere gelijktijdige verbindingen. In een dergelijke situatie zou de query-optimizer kunnen besluiten om een ​​queryplan te gebruiken dat de tabelindexen gebruikt om aan de query te voldoen, op basis van beperkte middelen. Als u dit doet, kan het verbruik van serverbronnen door de query worden verminderd. Als de gebruiker dezelfde zoekopdracht op een ander moment zou uitvoeren waarop er meer serverbronnen beschikbaar waren, zou de query-optimizer kunnen: hebben vastgesteld dat resourcebeperking geen probleem was en geen tabelindexen gebruiken, waarbij de volledige tabel wordt geladen in geheugen.

Belangrijkste kenmerken van hulpprogramma's voor het optimaliseren van SQL-query's

Zoals we hebben vastgesteld, is de belangrijkste functie van een SQL Query Optimizer-tool om te proberen de beste manier te bepalen om de query uit te voeren door verschillende queryplannen te analyseren. Alle tools die hier worden besproken, zullen dat tenminste doen, maar sommige bieden veel meer functionaliteit. Laten we eens kijken naar enkele van de belangrijkste functies die vaak worden aangetroffen in hulpprogramma's voor het optimaliseren van SQL-query's.

Basis SQL-afstemming

Dit is de kernfunctionaliteit van SQL Query Optimization-tools. Het is het proces van het op een andere manier herschrijven van SQL-instructies met als doel de prestaties van de query te verbeteren en toch dezelfde resulterende dataset te krijgen. De tool werkt door de uitvoeringstijd van de query van de verschillende versies van de query (queryplannen) te meten en degene te kiezen die het snelst wordt uitgevoerd.

Ondersteuning voor database-engine

De meeste tools ondersteunen op zijn minst de meest voorkomende database-engines zoals Microsoft SQL, Oracle, MySQL, PostgreSQL en MariaDB. Anderen zullen een bredere selectie ondersteunen en anderen zullen er maar één ondersteunen. Het is belangrijk om een ​​tool te kiezen die alle motoren die je gebruikt kan ondersteunen,

Cloudgebaseerde databaseondersteuning

Sommige hulpprogramma's voor het optimaliseren van SQL-query's kunnen door de cloud gehoste databases analyseren en optimaliseren, zoals Microsoft SQL Azure of AWS RDS. Cloudondersteuning varieert sterk van tool tot tool. Nogmaals, het is belangrijk om er een te kiezen die ondersteunt wat je hebt. Houd er rekening mee dat de meeste hulpprogramma's die clouddatabases ondersteunen, ook on-premises databases ondersteunen.

Beste tools en software voor het optimaliseren van SQL-query's

Het is eindelijk tijd om de beste tools en software voor het optimaliseren van SQL-query's die we konden vinden, te onthullen en te beoordelen. Onze lijst bevat veel verschillende soorten tools, die elk hun eigen draai geven aan optimalisatie. Onze belangrijkste opnamecriteria waren dat elk product op zijn minst hielp bij het handmatig optimaliseren van SQL-query's - de meeste doen het automatisch - en dat ze werkten zoals geadverteerd. We willen niet dat u tijd verspilt aan producten die niet doen wat ze zouden moeten doen.

Ons eerste product is van SolarWinds, een bedrijf dat een uitstekende reputatie heeft genoten voor het maken van enkele van de beste netwerk- en systeembeheertools gedurende het grootste deel van zijn twintigjarige bestaan. Het vlaggenschipproduct, de SolarWinds Network Performance Monitor, wordt door velen gezien als een van de allerbeste software voor het bewaken van netwerkbandbreedte. Een deel van de bekendheid van SolarWinds komt ook van de vele gratis tools die het biedt. Het zijn kleinere tools, elk gericht op een specifieke taak van netwerkbeheerders. Twee uitstekende voorbeelden van deze tools zijn de Advanced Subnet Calculator en de Kiwi Syslog Server.

Voor SQL Query-optimalisatie hebt u echter de SolarWinds Database Performance Analyzer (DPA), een databasebeheertool die is gebouwd voor het bewaken, analyseren en afstemmen van SQL-queryprestaties. Het bewaakt en analyseert uw SQL-database-instanties en gebruikt een Response Time Analysis-methode die de primaire focus op de tijd legt tussen een queryverzoek en het bijbehorende antwoord uit de database, analyseert wachttypen en gebeurtenissen om de knelpunten van te lokaliseren databanken.

SolarWinds Database Performance Analyzer
  • GRATIS PROEF: SolarWinds Database Performance Analyzer
  • Download link:https://www.solarwinds.com/database-performance-analyzer

De tool, die ook geweldig is voor het oplossen van problemen, heeft een gebruiksvriendelijke interface die u helpt bij het snel en gemakkelijk vinden van problemen. In het hoofdscherm kunt u database-instances, wachttijden, query-advies, CPU (met waarschuwing en kritieke waarschuwingen), geheugen, schijf en sessies bekijken.

Wanneer u naar beneden gaat, toont het trenddashboard van een specifieke database-instantie u in een grafisch formaat de totale wachttijden (of uw keuze uit gemiddelde of typische wachttijden per dag) voor gebruikers in de loop van een maand. In die grafiek vertegenwoordigt elke kleur een individuele SQL-instructie, waardoor u een visueel aantrekkelijke weergave krijgt van welke instructie het langst duurt.

Hoewel dit product geen echt hulpprogramma voor het optimaliseren van SQL-query's is, kunnen sommige functies u daarbij helpen. Het kan bijvoorbeeld de uitvoeringstijd van query's bewaken en meten en het zal ook wat afstemmingsadvies geven, hoewel het eerder gerelateerd is aan de databaseconfiguratie dan aan de querycode.

De prijs voor de SolarWinds Database Performance Analyzer begint bij $ 1 995 en varieert afhankelijk van het aantal en het type database-instanties dat moet worden gecontroleerd. Mocht u het product eerst willen testen voordat u het aanschaft, er is een volledig functionele proefversie van 14 dagen beschikbaar.

2. SQL Query Tuner voor SQL Diagnostic Manager

De SQL Diagnostisch Beheer is een van de beste beschikbare tools voor databasemonitoring. Maar als je het aanvult met de SQL-querytuner, wat u krijgt, is een van de beste hulpprogramma's voor het optimaliseren van SQL-query's. De voordelen zijn meervoudig. Het identificeert problematische SQL-query's via databaseprofilering van wachttijdanalyse. Het kan u ook automatisch gegenereerde afstemmingsaanbevelingen geven met de wizard voor het afstemmen van SQL-query's. De tool controleert de prestaties van SQL-query's door middel van belastingstests in gesimuleerde productieomgevingen.

De SQL-querytuner zal snel en gemakkelijk SQL-query's identificeren die slechte databaseprestaties veroorzaken via databaseprofilering en een grafische visualisatie van wachttijdanalyse weergeven. Het bewaakt een volledige gegevensbron binnen een configureerbare tijdspanne met continue profilering. Als resultaat krijgt u een beter begrip van hoe SQL Server van plan is om SQL-query's uit te voeren en de verschillende prestatiekosten.

Screenshot van SQL Query Tuner

Deze tool presenteert automatisch gegenereerde oplossingen met de wizard voor het afstemmen van SQL-query's, die een essentiële context bieden voor het afstemmen van SQL-query's. Het bevat een kleurgecodeerde indexanalyse van gebruikte, niet-gebruikte en ontbrekende indexen met aanbevelingen voor optimale prestaties. U kunt mogelijke gevallen genereren en het beste alternatief vinden voor een bepaalde SQL-instructie door SQL-query's te herschrijven en hints in te voeren.

De SQL Query-tuner beschikt over unieke visuele afstemmingsdiagrammen voor SQL-query's waarmee u de impact van SQL-instructies op de database kunt begrijpen met behulp van de diagrammen in plaats van ingewikkelde uitvoeringsplannen. Indexen en beperkingen voor tabellen en weergaven worden weergegeven met tabelstatistieken en de joins die in een SQL worden gebruikt verklaring (zoals cartesiaanse joins, impliciete cartesiaanse joins en veel-op-veel-relaties) met de diagrammen.

Controleer de prestaties van bestaande en alternatieve SQL-query's ten opzichte van de database via load-tests. Configureer SQL-query's om meerdere keren parallel te lopen en om te observeren hoe ze reageren op gesimuleerde productieomgevingen zonder het risico van daadwerkelijk testen in productie. Met deze tool kunt u slecht presterende SQL-query's voor SQL Server afstemmen vanuit een intuïtieve interface.

De SQL-querytuner is een aanvulling op de SQL Diagnostisch Beheer. Als u dat product nog niet bezit, kunnen beide samen worden gekocht als de SQL Diagnostic Manager Pro voor $2 156 per licentie is er ook een gratis, niet-creditcard-vereiste 14-daagse proefversie verkrijgbaar bij de leverancier van het product

3. Studio voor SQL Server-beheer

Als uw databaseserver een Microsoft SQL Server is, misschien de eigen tool van Microsoft, SQL Server Management Studio (SSMS), is alles wat je nodig hebt. Zoals u wellicht weet, wordt de tool, die voor het eerst werd gelanceerd met Microsoft SQL Server 2005, gebruikt voor het configureren, beheren en beheren van alle componenten binnen Microsoft SQL Server. Het bevat zowel scripteditors als grafische tools die werken met objecten en functies van de server. Wat u misschien niet weet, is dat een van de tools van SSMS, de SQL Server Database Engine Tuning Advisor (DTA) kan worden gebruikt voor het optimaliseren van SQL-query's.

Schermafbeelding SQL Server Management Studio

Het primaire doel van de DTA is het analyseren van databases en het geven van aanbevelingen. Volgens de officiële documentatie van Microsoft kan de tool u helpen bij het oplossen van problemen met de prestaties van een specifieke probleemquery, het afstemmen van een grote reeks query's in een of meer databases, een verkennende wat-als-analyse uitvoeren van mogelijke fysieke ontwerpwijzigingen en opslag beheren ruimte.

Een van de beste dingen over Studio voor SQL Server-beheer is zijn prijs. Dit is een gratis tool van Microsoft waarmee u niet alleen SQL Server maar ook Azure SQL Database kunt beheren. Het is misschien niet de meest gebruiksvriendelijke tool die er is, maar gezien de prijs is het misschien de moeite waard om naar te kijken.

4. EverSQL

EverSQL is interessant omdat het een van de weinige online tools voor SQL-optimalisatie is. Beheerders kunnen dit hulpprogramma gebruiken om aanbevelingen voor het afstemmen van zoekopdrachten en suggesties voor het verbeteren van de indexering te krijgen. Database-ondersteuning in EverSQL is wat beperkt. Het ondersteunt echter de meest populaire betaalde en gratis en open-source database-engines, waaronder MSSQL, Oracle, MySQL, MariaDB en PerconaDB. Aangezien dit een offline tool is die geen verbinding heeft met uw database, zou het theoretisch gezien kunnen optimaliseren en SQL-query, maar het zal beter werken als het weet welk type database-engine de geoptimaliseerde zal verwerken vraag.

EverSQL-schermafbeelding

Het gebruik van de tool is supereenvoudig. U maakt verbinding met de site, selecteert uw databasetype en -versie en plakt de SQL-querycode. Om indexeringsaanbevelingen te krijgen en de tool geavanceerde querytransformaties te laten toepassen, kunt u optioneel de schemastructuur van uw database uploaden. U klikt op "Volgende" en binnen enkele seconden krijgt u de geoptimaliseerde versie van uw zoekopdracht samen met enkele indexeringsaanbevelingen.

EverSQL doet echter niet alleen query-optimalisaties. Er worden ook enkele andere gratis en handige online tools aangeboden. Er is bijvoorbeeld een SQL Query Syntax Check & Validator, een Query Minifier voor SQL-statements en een Query Formatter.

De prijsstructuur van EverSQL is simpel. U heeft de keuze uit een gratis abonnement waarmee u 30 dagen lang één gratis zoekopdrachtoptimalisatie per dag krijgt. Dit is het proefplan. Vervolgens heb je het basisplan voor $ 29 / maand met 10 maandelijkse optimalisaties en het Plus-abonnement voor $ 135 / maand met 30 optimalisaties per maand en livechatondersteuning. Er kunnen ook aangepaste plannen worden gemaakt om aan uw specifieke behoeften te voldoen.

5. SentryOne Plan Explorer

Plan verkenner is een gratis tool van SentryOne. Het is een van de beste tools voor SQL-queryanalyse en -optimalisatie. Deze tool kan je helpen om snel tot de kern van de moeilijkste SQL Server-queryproblemen te komen. Het is opgebouwd uit verschillende modules. De indexanalyse maakt gebruik van scorealgoritmen om u te helpen bij het bepalen van de beste index om een ​​bepaalde zoekopdracht te ondersteunen. U kunt eenvoudig aanbevolen indexen bekijken, indexen maken en wijzigen en oude statistieken detecteren en bijwerken.

De module voor statistische analyse toont u de impact van gecompileerde en runtime-queryparameters op de prestaties. Hierdoor kunt u snel scheeftrekkingen van gegevens herkennen die kunnen bijdragen aan problemen met het snuiven van parameters, potentiële oplopende sleutelproblemen visualiseren en kansen voor gefilterde indexen identificeren.

Screenshot van planverkenner

De Query Performance Profiling and Playback-module zal query's opnieuw afspelen en toegang krijgen tot hun live prestatiestatistieken. Met deze tool kunt u het zoekprofiel afspelen om precies te zien welke operators de systeembronnen het meest belasten. Het is niet nodig om de query opnieuw uit te voeren.

Hoewel de meeste SQL-query-optimizers geschatte abonnementskosten gebruiken, Plan verkenner kan de werkelijk waargenomen kosten weergeven. En u kunt het kostenverschil zien door de weergave te wisselen tussen Geschat en Werkelijk. Deze gratis tool heeft meer functies dan we tijd hebben om ze te presenteren. Maar aangezien het een gratis tool is, wil je het misschien eens proberen en het zelf zien.

6. dbForge Studio voor SQL Server

Devart's dbForge Studio voor SQL-server is een alles-in-één SQL-server GUI-tool die kan worden gebruikt voor SQL Server-beheer, administratie, ontwikkeling, gegevensrapportage, analyse, optimalisatie en meer. SQL-ontwikkelaars en databasebeheerders kunnen de GUI-tool gebruiken om bijna alle complexe databasetaken, zoals ontwerpen, te versnellen databases, het schrijven van SQL-code, het vergelijken van databases, het synchroniseren van schema's en gegevens, het genereren van zinvolle testgegevens, onder andere.

Overzicht van dbForge Studio voor SQL Server-beheer

dbForge Studio voor SQL-server omvat de Hulpprogramma voor SQL-queryplan, een speciale tool voor het optimaliseren van zoekopdrachten. De functie Uitvoeringsplandiagram helpt bij het visualiseren en afstemmen van het uitvoeringsplan voor query's door de traag uitvoerende knooppunten te lokaliseren. Op het tabblad Wachtstatistieken van de tool kunt u gemakkelijk potentiële knelpunten in uw zoekopdracht detecteren door een lijst met gebeurtenissen en bijbehorende wachttijden weer te geven. U kunt ook de planboom van de tool gebruiken om informatie te krijgen over hoe de SQL Server een SELECT-instructie uitvoert. Het laat u zien waar bijvoorbeeld het toevoegen van een index aan een tabel of het optimaliseren van het samenvoegen van tabellen de prestaties kan verbeteren.

De tool, ook wel bekend als T-SQL-queryprofiler, is ingebouwd in de Standard-, Profesional- en Enterprise-versies van dbForge Studio voor SQL-server, die respectievelijk $ 249,95, $ 499,95 en $ 699,95 kosten. Een gratis proefperiode van 30 dagen van het hele product, niet alleen de tool voor het optimaliseren van zoekopdrachten, is beschikbaar.

watch instagram story