Data is alles en bijgevolg is SQL dat ookoveral. De gestructureerde querytaal is de meest gebruikte querytaal geworden en wordt ondersteund door de meeste moderne relationele databasebeheersystemen. Het gebruik ervan is zelfs zo gangbaar dat we database-servers vaak SQL-servers noemen. De taal definieert hoe query's kunnen worden gevormd om uit een database de exacte gegevens te extraheren die vereist zijn. Gezien de veelheid van moderne databases mettientallen gekoppelde tabellen, SQL-query's kunnen behoorlijk complex zijn. Met extra complexiteit komt verminderde prestaties. Met SQL-query-optimalisatie kunt u query's verfijnen zodat ze zo snel mogelijk de juiste gegevens retourneren. Het optimaliseren van SQL-query's kan handmatig worden gedaan, maar er bestaan hulpmiddelen om ze te helpen optimaliseren. We staan op het punt enkele van de beste tools die we hebben gevonden te beoordelen.
Omdat we willen dat iedereen op dezelfde pagina staat alswe beoordelen de beste producten, we beginnen met het bespreken van wat en de verlegenheid van SQL-query-optimalisatie. Vervolgens zullen we de belangrijkste functies van SQL-query-optimalisatiehulpmiddelen bespreken. Verschillende tools bieden verschillende functies, zoals u binnenkort gaat zien. We doen ons best om de essentiële functies te vinden waarnaar u op zoek moet zijn bij het kiezen van de beste tool voor uw specifieke behoeften. En ten slotte zullen we de beste tools bekijken die we konden vinden.
Optimalisatie van SQL-zoekopdrachten, het wat en waarom
Simpel gezegd, SQL-query-optimalisatie is de daad vananalyseren van SQL-vragen en 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 de gezochte gegevens worden geretourneerd. Query-optimizers zijn soms ingebouwd in databasebeheersystemen, maar vaak wordt gedacht dat externe tools van derden betere resultaten bieden. Een typische queryoptimalisatie genereert een of meer queryplannen voor elke query, die elk een mechanisme zijn dat wordt gebruikt om de query uit te voeren. De prestaties (d.w.z. uitvoeringstijd) van elk worden 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 eenvoudiger hulpapplicaties zijn die veel menselijke assistentie vereisen, doen de beste systemen het meeste van hun werk op de achtergrond.
Hier is een snel voorbeeld van optimalisatie van zoekopdrachten. Als een gebruiker een query uitvoert die ongeveer de helft van de tabelgegevens selecteert op een moment dat de server zwaar wordt belast met meerdere gelijktijdige verbindingen. In een dergelijke situatie kan de queryoptimalisatie besluiten om een queryplan te gebruiken dat de tabelindexen gebruikt om aan de query te voldoen, op basis van beperkte bronnen. Dit kan de belasting van de query op serverbronnen verminderen. Als de gebruiker dezelfde query op een ander moment uitvoert wanneer er meer serverbronnen beschikbaar zijn, kan de queryoptimalisatie hebben vastgesteld dat bronbeperking geen probleem was en geen tabelindexen gebruiken, waardoor de volledige tabel in het geheugen wordt geladen.
Belangrijkste kenmerken van SQL Query Optimization Tools
Zoals we hebben bepaald, de hoofdfunctie van een SQLDe Query Optimizer-tool is proberen de beste manier te vinden om de query uit te voeren door verschillende queryplannen te analyseren. Alle tools die hier worden besproken, zullen dat op zijn minst bereiken, maar sommige bieden veel meer functionaliteit. Laten we een paar van de belangrijkste functies bekijken die we vaak vinden in hulpprogramma's voor het optimaliseren van SQL-zoekopdrachten.
Basis SQL-afstemming
Dit is de kernfunctionaliteit van SQL QueryOptimalisatie tools. Het is het proces van het anders herschrijven van SQL-instructies met als doel de prestaties van de query te verbeteren en toch dezelfde gegevensset te krijgen. De tool werkt door de uitvoeringstijd van de query van de verschillende versies van de query te meten (queryplannen) en degene te kiezen die de snelste uitvoert.
Ondersteuning voor Database Engine
De meeste tools ondersteunen op zijn minst de meest voorkomendedatabase-engines zoals Microsoft SQL, Oracle, MySQL, PostgreSQL en MariaDB. Anderen zullen een bredere selectie ondersteunen en anderen zullen er slechts één ondersteunen. Het is belangrijk om een tool te kiezen die alle motoren ondersteunt die u gebruikt,
Cloudgebaseerde database-ondersteuning
Sommige hulpprogramma's voor het optimaliseren van SQL-zoekopdrachten kunnen dit weldoor de cloud gehoste databases zoals Microsoft SQL Azure of AWS RDS analyseren en optimaliseren. Cloud-ondersteuning varieert enorm van tool tot tool. Nogmaals, het is belangrijk om er een te kiezen die ondersteunt wat je hebt. Merk op dat de meeste tools die clouddatabases ondersteunen ook on-premise ondersteunen.
De beste SQL Query Optimization Tools en software
De tijd is eindelijk gekomen om te onthullen - enreview - de beste SQL-optimalisatiehulpmiddelen en software die we konden vinden. Onze lijst heeft veel verschillende soorten tools, die elk hun eigen draai aan optimalisatie geven. Onze belangrijkste opnamecriteria waren dat elk product op zijn minst hielp bij het handmatig optimaliseren van SQL-vragen - de meeste doen dit automatisch - en dat ze werkten zoals geadverteerd. We willen niet dat u tijd verspilt aan producten die niet doen wat ze zouden moeten.
1. SolarWinds Database Performance Analyzer (GRATIS proefversie)
Ons eerste product is van SolarWinds, een bedrijfdie een uitstekende reputatie geniet voor het maken van enkele van de beste netwerk- en systeembeheertools voor het grootste deel van het twintig-jarig bestaan. Het vlaggenschipproduct genaamd de SolarWinds Network Performance Monitor wordt door velen gezien als een van de allerbeste software voor het bewaken van de bandbreedte van het netwerk. Sommige van de bekendheid van SolarWinds komt ook van de vele gratis tools die het biedt. Het zijn kleinere hulpmiddelen, die elk een specifieke taak van netwerkbeheerders aanpakken. Twee uitstekende voorbeelden van deze tools zijn de Advanced Subnet Calculator en de Kiwi Syslog Server.
Voor SQL Query-optimalisatie hebt u echter het volgende nodig SolarWinds Database Performance Analyzer (DPA), een hulpprogramma voor databasebeheer dat is gebouwd voor SQL-zoekopdrachtenprestatiebewaking, analyse en afstemming. Het bewaakt en analyseert uw SQL-database-instances en analyseert wachttypen en gebeurtenissen met behulp van een methode voor responstijdanalyse die de primaire focus legt op de tijd tussen een queryverzoek en de bijbehorende reactie van de database, om de knelpunten van databases te identificeren.
- 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 problemenbeschikt over een eenvoudig te gebruiken 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.
Bij het boren, het trenddashboard van eenspecifieke database-instantie toont u in een grafisch formaat de totale wachttijden (of uw keuze van gemiddelde of typische dagwachttijden) 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 om te worden uitgevoerd.
Hoewel dit product geen echte SQL-query isoptimalisatiehulpmiddelen, sommige functies kunnen u daarbij helpen. Het kan bijvoorbeeld de uitvoeringstijd van een query bewaken en meten en het zal ook wat afstemmingsadvies geven, hoewel het meestal gerelateerd is aan de databaseconfiguratie in plaats van de querycode.
De prijs voor de SolarWinds Database Performance Analyzer begint bij $ 1 995 en varieert volgens deaantal en type te controleren database-instanties. Als u het product eerst wilt testen voordat u het koopt, is er een volledig functionele proefversie van 14 dagen beschikbaar.
2. SQL Query Tuner voor SQL Diagnostic Manager
De SQL Diagnostic Manager is een van de beste beschikbare databasemonitoringstools. Maar als het wordt aangevuld met de SQL query-tuner, wat u krijgt is een van de beste SQL-query'soptimalisatie tools. De voordelen zijn meerdere. Het identificeert problematische SQL-vragen via databaseprofilering of wachttijdanalyse. Het kan u ook automatisch gegenereerde afstemmingsaanbevelingen geven met de SQL-afstemmingswizard. De tool zal de prestaties van SQL-query's verifiëren via belastingstests in gesimuleerde productieomgevingen.
De SQL Query Tuner identificeert snel en gemakkelijk SQL-vragen dieslechte databaseprestaties veroorzaken via databaseprofilering en een grafische visualisatie van wachttijdanalyse weergeven. Het bewaakt een volledige gegevensbron binnen een configureerbare tijdspanne met continue profilering. Als gevolg hiervan krijgt u een beter inzicht in hoe SQL Server van plan is SQL-query's uit te voeren en de verschillende prestatiekosten.
Deze tool wordt automatisch gegenereerdvoorgestelde oplossingen met de wizard SQL-queryafstemming die een essentiële context bieden voor het afstemmen van SQL-query's. Het beschikt over een kleurgecodeerde indexanalyse van gebruikte, niet-gebruikte en ontbrekende indexen met aanbevelingen voor optimale prestaties. U kunt mogelijke cases genereren en het beste alternatief vinden voor een bepaalde SQL-instructie door SQL-queryherschrijvingen en hintinjecties op te nemen.
De SQL Query-tuner beschikt over unieke visuele SQL-queryafstemmingsdiagrammenwaarmee u de impact van SQL-instructies op de database begrijpt 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 worden gebruikt in een SQL-instructie (zoals Cartesiaanse joins, geïmpliceerde Cartesiaanse joins en veel-op-veel-relaties) met de diagrammen.
Controleer de prestaties van bestaande enalternatieve SQL-query's op de database via load-testing. Configureer SQL-query's om meerdere keren parallel te worden uitgevoerd 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 Query Tuner is een add-on voor de SQL Diagnostic Manager. Als u dat product nog niet bezit, kunnen beide samen worden gekocht als de SQL Diagnostic Manager Pro voor $ 2 156 per licentie is een gratis 14-daagse proefversie zonder creditcard ook verkrijgbaar bij de leverancier van het product
3. SQL Server Management Studio
Als uw databaseserver een Microsoft SQL Server is, misschien het eigen hulpprogramma 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 eerst 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 hulpmiddelen die werken met objecten en functies van de service. Wat je misschien niet weet, is dat een van de tools van SSMS, de SQL Server Database Engine Tuning Advisor (DTA) kan worden gebruikt voor optimalisatie van SQL-zoekopdrachten.
Het primaire doel van de DTA is het analyseren van databasesen aanbevelingen doen. Volgens de officiële documentatie van Microsoft kan de tool u helpen bij het oplossen van de prestaties van een specifieke probleemquery, een grote reeks vragen afstemmen op een of meer databases, een verkennende what-if-analyse van mogelijke fysieke ontwerpwijzigingen uitvoeren en opslagruimte beheren.
Een van de beste dingen van SQL Server Management Studio is zijn prijs. Dit is een gratis tool van Microsoft die u kunt gebruiken om niet alleen SQL Server, maar ook Azure SQL Database te 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 SQL-optimalisatietools is. Beheerders kunnen deze tool gebruiken om aanbevelingen voor het afstemmen van zoekopdrachten en suggesties voor indexeringsverbeteringen te ontvangen. Database-ondersteuning in EverSQL is enigszins beperkt. Het ondersteunt echter wel 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 in theorie een SQL-query kunnen optimaliseren, maar het zal beter werken als het weet welk type database-engine de geoptimaliseerde query zal verwerken.
Het gebruik van de tool is super eenvoudig. U maakt verbinding met de site, selecteert uw databasetype en -versie en plakt de SQL-querycode. Om indexeringsaanbevelingen te ontvangen en de tool in staat te stellen geavanceerde querytransformaties toe te passen, 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. Een paar andere gratis en handige online tools worden ook 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 hebt de keuze uit een gratis abonnement waarmee u 30 dagen lang één gratis optimalisatie van zoekopdrachten per dag krijgt. Dit is het proefplan. Vervolgens heb je het Basic-abonnement voor $ 29 / maand met 10 maandelijkse optimalisaties en het Plus-abonnement voor $ 135 / maand met 30 optimalisaties per maand en live chat-ondersteuning. Aangepaste plannen kunnen ook worden geregeld om aan uw specifieke behoeften te voldoen.
5. SentryOne Plan Explorer
Planverkenner is een gratis tool van SentryOne. Het is een van de beste SQL-queryanalyses enoptimalisatie tools. Deze tool kan u helpen om snel de kern van de moeilijkste SQL Server-queryproblemen op te lossen. Het bestaat uit verschillende modules. De indexanalyse maakt gebruik van score-algoritmen om u te helpen de beste index te bepalen om een bepaalde zoekopdracht te ondersteunen. U kunt eenvoudig aanbevolen indexen bekijken, indexen maken en wijzigen en oude statistieken detecteren en bijwerken.
De statistische analyse module toont u deimpact van gecompileerde en runtime-queryparameters op de prestaties. Hiermee kunt u snel gegevens scheeftrekken die kunnen bijdragen aan problemen met het snuiven van parameters, mogelijke stijgende sleutelproblemen visualiseren en kansen voor gefilterde indexen identificeren.
De Query Performance Profiling en Playbackmodule speelt vragen opnieuw af en heeft toegang tot hun live performance statistieken. Met deze tool kunt u het queryprofiel afspelen om precies te zien welke operators de meeste belasting op systeembronnen toevoegen. U hoeft de zoekopdracht niet opnieuw uit te voeren.
Terwijl de meeste SQL-query-optimizers geschatte plankosten gebruiken, Planverkenner kan de werkelijke waargenomen kosten weergeven. En u kunt het kostenverschil zien door de weergave te schakelen tussen Geschat en Werkelijk. Er zijn meer functies aan deze gratis tool dan we tijd hebben om ze te presenteren. Maar omdat het een gratis tool is, wil je het misschien eens proberen om het zelf te 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 wordengebruikt 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 te versnellen, zoals het ontwerpen van databases, het schrijven van SQL-code, het vergelijken van databases, het synchroniseren van schema's en gegevens, het genereren van betekenisvolle testgegevens, onder anderen.
dbForge Studio voor SQL-server omvat de SQL Query Plan Tool, een speciaal hulpprogramma voor het optimaliseren van zoekopdrachten. De functie Uitvoeringsplan diagram helpt bij het visualiseren en afstemmen van het uitvoeringsplan voor zoekopdrachten door de langzaam uitvoerende knooppunten te lokaliseren. Met het tabblad Wachtstatistieken van het hulpprogramma kunt u eenvoudig potentiële knelpunten in uw zoekopdracht detecteren door een lijst met bijbehorende gebeurtenissen en 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 zal u laten zien waar het toevoegen van een index aan een tabel of het optimaliseren van het samenvoegen van de tafel de prestaties zou kunnen verbeteren.
De tool, ook bekend als T-SQL Query Profiler, is ingebouwd in de standaard, profesional enEnterprise-versies van dbForge Studio voor SQL-server die respectievelijk $ 249,95, $ 499,95 en $ 699,95 kosten. Er is een gratis proefversie van 30 dagen voor het hele product - en niet alleen het hulpprogramma voor het optimaliseren van zoekopdrachten - beschikbaar.
Comments