- - 6 nejlepších nástrojů a softwaru pro optimalizaci dotazů SQL

6 nejlepších nástrojů a softwaru pro optimalizaci dotazů SQL

Data jsou všechno, a tedy i SQLvšude. Strukturovaný dotazovací jazyk se stal nejpoužívanějším jazykem dotazů a je podporován nejmodernějšími systémy správy relačních databází. Ve skutečnosti je jeho použití tak rozšířené, že často označujeme databázové servery jako servery SQL. Jazyk definuje, jak mohou být dotazy vytvářeny k extrahování přesných dat, která jsou požadována, z databáze. Vzhledem k množství moderních databází sdesítky spojených tabulek, dotazy SQL mohou být docela složité. S přidanou složitostí přichází snížený výkon. Optimalizace dotazů SQL umožňuje jemně vyladit dotazy tak, aby co nejrychleji vrátily správná data. Optimalizace dotazů SQL lze provádět ručně, ale existují nástroje, které jim pomáhají při jejich optimalizaci. Chystáme se zkontrolovat některé z nejlepších nástrojů, které jsme našli.

Protože chceme, aby všichni byli na stejné stránce jakozkontrolujeme nejlepší produkty, začneme diskusí o tom, co a plachá optimalizace dotazů SQL. Poté probereme hlavní funkce nástrojů pro optimalizaci dotazů SQL. Různé nástroje nabízejí různé funkce, jak se chystáte vidět. Budeme se snažit vyřešit základní funkce, které byste měli hledat při výběru nejlepšího nástroje pro vaše konkrétní potřeby. Nakonec zkontrolujeme nejlepší nástroje, které jsme mohli najít.

Optimalizace dotazů SQL, co a proč

Jednoduše řečeno, optimalizace dotazů SQL je aktanalýza dotazů SQL a určení nejefektivnějšího mechanismu provádění. Často se jedná o proces pokusu a omylu, kdy se testují různé dotazy, aby se zjistilo, který z nich nabízí nejlepší výkon, a přitom stále vrací požadovaná data. Optimalizátory dotazů jsou někdy zabudovány do systémů správy databází, ale externí nástroje třetích stran často nabízejí lepší výsledky výkonu. Typický optimalizátor dotazů vygeneruje jeden nebo více plánů dotazů pro každý dotaz, z nichž každý je mechanismem použitým ke spuštění dotazu. Výkon (tj. Doba provádění) každého se měří a vybere se nejúčinnější plán dotazu a použije se ke spuštění dotazu. Zatímco některé nástroje pro optimalizaci dotazů SQL jsou jednodušší pomocné aplikace, které vyžadují hodně lidské pomoci, nejlepší systémy dělají většinu své práce na pozadí.

Zde je rychlý příklad optimalizace dotazů. Pokud uživatel spustí dotaz, který vybere přibližně polovinu dat tabulky v době, kdy je server silně pověřen více současnými připojeními. V takové situaci by se optimalizátor dotazů mohl rozhodnout použít plán dotazů, který pomocí indexů tabulky uspokojí dotaz na základě omezených zdrojů. To může snížit odtok dotazu na prostředky serveru. Pokud uživatel spustil stejný dotaz v jiném okamžiku, kdy bylo k dispozici více prostředků serveru, mohl optimalizátor dotazu zjistit, že omezení prostředků není problém a nepoužívá indexy tabulek a načítá celou tabulku do paměti.

Hlavní vlastnosti nástrojů pro optimalizaci dotazů SQL

Jak jsme zjistili, hlavní funkce SQLNástroj Optimalizace dotazů je pokusit se určit nejlepší způsob, jak spustit dotaz, analýzou různých plánů dotazů. Všechny zde zkontrolované nástroje budou přinejmenším k tomu, ale některé nabízejí mnohem více funkcí. Podívejme se na některé z hlavních funkcí běžně používaných v nástrojích pro optimalizaci dotazů SQL.

Základní ladění SQL

Toto je základní funkce SQL QueryOptimalizační nástroje. Je to proces přepisování příkazů SQL odlišně s cílem zlepšit výkon dotazu a přitom získat stejnou výslednou sadu dat. Nástroj pracuje tak, že měří dobu provádění dotazu různých verzí dotazu (plány dotazů) a vybere ten, který provádí nejrychlejší.

Podpora databázového stroje

Většina nástrojů bude podporovat alespoň ty nejběžnějšídatabázové stroje jako Microsoft SQL, Oracle, MySQL, PostgreSQL a MariaDB. Ostatní budou podporovat širší výběr a další budou podporovat pouze jeden. Je důležité vybrat nástroj, který podporuje všechny motory, které používáte,

Podpora databází typu cloud

Některé nástroje pro optimalizaci dotazů SQL jsou schopnyanalyzovat a optimalizovat databáze hostované v cloudu, jako je Microsoft SQL Azure nebo AWS RDS. Podpora cloudu se v jednotlivých nástrojích velmi liší. Opět je důležité vybrat ten, který podporuje to, co máte. Většina nástrojů podporujících cloudové databáze bude také podporovat lokální.

Nejlepší nástroje a software pro optimalizaci dotazů SQL

Konečně přišel čas odhalit - arecenze - nejlepší nástroje pro optimalizaci dotazů SQL a software, který jsme našli. Náš seznam obsahuje mnoho různých typů nástrojů, z nichž každý přináší vlastní optimalizaci. Naše hlavní kritéria zahrnutí byla, že každý produkt pomohl alespoň ručně optimalizovat dotazy SQL - většina to automaticky - a že fungovaly tak, jak byly inzerovány. Nechtěli bychom, abyste vám ztrácel čas na výrobky, které nedělají to, co by měly.

1. Analyzátor výkonu SolarWinds (Zkušební verze zdarma)

Náš první produkt je od společnosti SolarWindsto se těší vynikající pověsti pro výrobu některých z nejlepších nástrojů pro správu sítí a systémů po většinu z nich dvacátých let existence. Jeho vlajkový produkt s názvem SolarWinds Network Performance Monitor je mnohými považován za jeden z nejlepších monitorovacích softwarů pro šířku pásma. Sláva některých SolarWinds pochází také z mnoha bezplatných nástrojů, které nabízí. Jsou to menší nástroje, z nichž každý řeší specifický úkol správců sítě. Dva vynikající příklady těchto nástrojů jsou kalkulačka pro pokročilé podsítě a server Kiwi Syslog Server.

Pro optimalizaci dotazu SQL však potřebujete Analyzátor výkonu SolarWinds (DPA), nástroj pro správu databází vytvořený pro dotaz SQLsledování výkonu, analýza a ladění. Sleduje a analyzuje instance SQL databáze a pomocí metody Response Time Analysis, která klade hlavní důraz na čas mezi požadavky na dotaz a odpovídající odpovědí z databáze, analyzuje typy čekání a události, aby se určily úzká místa v databázích.

Analyzátor výkonu SolarWinds

  • ZKUŠEBNÍ VERZE ZDARMA: Analyzátor výkonu SolarWinds
  • Odkaz ke stažení: https://www.solarwinds.com/database-performance-analyzer

Nástroj, který je také skvělý pro odstraňování problémůobsahuje snadno použitelné rozhraní, které vám pomůže rychle a snadno najít problémy. Hlavní obrazovka vám umožní zobrazit instance databáze, čekací doby, radu dotazů, CPU (s upozorněním a kritickými upozorněními), paměť, disk a relace.

Při vrtání dolů trendový panel akonkrétní instance databáze zobrazuje v grafickém formátu celkové čekací doby (nebo výběr průměrných nebo typických čekacích dob) pro uživatele v průběhu měsíce. V tomto grafu každá barva představuje samostatný příkaz SQL, což vám poskytuje vizuálně přitažlivou reprezentaci toho, který příkaz trvá nejdéle.

I když tento produkt není pravdivý dotaz SQLoptimalizačních nástrojů, některé z jeho funkcí vám s tím mohou pomoci. Například může monitorovat a měřit čas provádění dotazů a poskytne také některé rady pro vyladění, i když spíše souvisí s konfigurací databáze než s kódem dotazu.

Cena za Analyzátor výkonu SolarWinds začíná na 1 995 $ a liší se podlepočet a typ instancí databáze, které mají být sledovány. Pokud chcete produkt před zakoupením vyzkoušet, je k dispozici plně funkční 14denní zkušební verze.

2. Ladění dotazů SQL pro Správce diagnostiky SQL

The Správce diagnostiky SQL je jedním z nejlepších dostupných nástrojů pro monitorování databáze. Ale při jeho doplňování Ladič dotazů SQL, dostanete jeden z nejlepších dotazů SQLoptimalizační nástroje. Jeho výhody jsou rozmanité. Identifikuje problematické dotazy SQL pomocí profilování databáze analýzy doby čekání. Také vám může poskytnout automaticky generovaná doporučení pro ladění pomocí průvodce laděním dotazů SQL. Nástroj ověří výkon dotazů SQL pomocí testování zatížení v simulovaných produkčních prostředích.

The SQL Query Tuner bude rychle a snadno identifikovat dotazy SQL, kterézpůsobit špatný výkon databáze pomocí profilování databáze a zobrazit grafickou vizualizaci analýzy doby čekání. Bude monitorovat celý zdroj dat v konfigurovatelném časovém úseku s nepřetržitým profilováním. Výsledkem je lepší porozumění tomu, jak SQL Server plánuje provádět dotazy SQL a různé náklady na výkon.

Snímek obrazovky dotazu SQL

Tento nástroj se zobrazí automaticky generovanýnavrhovaná řešení s průvodcem laděním dotazů SQL, který poskytuje základní kontext pro ladění dotazů SQL. Je vybaven barevně kódovanou analýzou použitých, nepoužitých a chybějících indexů s doporučeními pro optimální výkon. Můžete vygenerovat možné případy a najít nejlepší alternativu k danému příkazu SQL zahrnutím přepisů dotazů SQL a injekcí nápovědy.

The Ladič dotazů SQL obsahuje jedinečné vizuální diagramy ladění dotazů SQLcož vám umožní pochopit dopad příkazů SQL na databázi pomocí diagramů namísto složitých plánů provádění. Indexy a omezení v tabulkách a pohledech se zobrazují se statistikami tabulek a spojení použitá v příkazu SQL (jako například kartézská spojení, implikovaná karteziánská spojení a mnohočetné vztahy) s diagramy.

Ověřte výkon stávajících aalternativní dotazy SQL proti databázi pomocí testování zatížení. Nakonfigurujte dotazy SQL tak, aby byly spuštěny vícekrát paralelně, a sledujte, jak reagují na simulovaná produkční prostředí bez rizika skutečného testování ve výrobě. Pomocí tohoto nástroje můžete vyladit špatně prováděné dotazy SQL pro SQL Server z intuitivního rozhraní.

The SQL Query Tuner je doplněk k Správce diagnostiky SQL. Tento produkt již nevlastníte, oba lze zakoupit společně jako SQL Diagnostic Manager Pro za 2 156 $ za licenci je od dodavatele produktu k dispozici také 14denní zkušební verze bez kreditních karet vyžadovaná bez kreditní karty

3. SQL Server Management Studio

Pokud je váš databázový server Microsoft SQL Server, možná vlastní nástroj společnosti Microsoft, SQL Server Management Studio (SSMS), je vše, co potřebujete. Jak možná víte, nástroj - který byl poprvé spuštěn poprvé spuštěn s Microsoft SQL Server 2005 - se používá pro konfiguraci, správu a správu všech součástí v Microsoft SQL Server. Zahrnuje jak editory skriptů, tak grafické nástroje, které pracují s objekty a funkcemi obsluhy. Možná nevíte, že jedním z nástrojů SSMS je Poradce pro optimalizaci databázového stroje SQL Server (DTA) lze použít pro optimalizaci dotazů SQL.

Screenshot serveru SQL Server Management Studio

Primárním účelem DTA je analýza databázía dávat doporučení. Podle oficiální dokumentace společnosti Microsoft vám tento nástroj může pomoci vyřešit potíže s konkrétním problémovým dotazem, vyladit velké množství dotazů v jedné nebo více databázích, provést průzkumnou analýzu případných změn fyzického návrhu a provést správu úložného prostoru.

Jedna z nejlepších věcí SQL Server Management Studio je jeho cena. Jedná se o bezplatný nástroj od společnosti Microsoft, který můžete použít pro správu nejen SQL Serveru, ale také Azure SQL Database. Možná to tam není nejpříjemnější nástroj, ale vzhledem k jeho ceně se vyplatí podívat se.

4. EverSQL

EverSQL je zajímavé, protože je to jeden z mála online nástrojů pro optimalizaci SQL. Správci mohou pomocí tohoto nástroje získat doporučení pro optimalizaci dotazů a návrhy na zlepšení indexování. Podpora databáze v EverSQL je poněkud omezený. Podporuje však nejoblíbenější placené a bezplatné a open-source databázové stroje včetně MSSQL, Oracle, MySQL, MariaDB a PerconaDB. Ve skutečnosti, protože se jedná o offline nástroj, který nemá žádné připojení k vaší databázi, mohl by teoreticky optimalizovat a dotaz SQL, ale bude dělat lepší práci, pokud ví, jaký typ databázového stroje bude zpracovávat optimalizovaný dotaz.

Screenshot EverSQL

Použití nástroje je velmi jednoduché. Připojíte se k webu, vyberete typ a verzi databáze a vložíte kód dotazu SQL. Chcete-li získat doporučení pro indexování a umožnit nástroji použít pokročilé transformace dotazů, můžete volitelně nahrát strukturu schématu vaší databáze. Kliknete na „Další“ a během několika sekund dostanete optimalizovanou verzi dotazu spolu s některými doporučeními pro indexování.

EverSQL nedělá však pouze optimalizace dotazů. K dispozici je také několik dalších bezplatných a užitečných online nástrojů. K dispozici je například kontrola a validátor syntaxe dotazu SQL, tester dotazů pro příkazy SQL a formátovací modul dotazu.

Struktura tvorby cen EverSQL je jednoduché. Máte na výběr z bezplatného plánu, který vám poskytne jednu bezplatnou optimalizaci dotazů denně po dobu 30 dní. Toto je zkušební plán. Dále máte základní plán za 29 $ / měsíc, který zahrnuje 10 měsíčních optimalizací a plus plán za 135 $ / měsíc s 30 optimalizacemi za měsíc a podporu živého chatu. Lze také uspořádat vlastní plány, aby vyhovovaly vašim konkrétním potřebám.

5. Průzkumník plánu SentryOne

Plánujte průzkumníka je bezplatný nástroj od SentryOne. Je to jedna z nejlepších analýz dotazů SQL aoptimalizační nástroje. Tento nástroj vám pomůže rychle se dostat ke kořenům nejtěžších dotazů na SQL Server. Je vyroben z několika modulů. Analýza indexů používá skórovací algoritmy, které vám pomohou určit nejlepší index pro podporu daného dotazu. Můžete snadno prohlížet doporučené indexy, vytvářet a upravovat indexy a detekovat a aktualizovat staré statistiky.

Modul analýzy statistik vám ukážedopad kompilovaných a runtime parametrů dotazu na výkon. To vám umožní rychle zjistit zkreslení dat, která mohou přispět k problémům s čicháním parametrů, vizualizovat potenciální vzestupné klíčové problémy a identifikovat příležitosti pro filtrované indexy.

Plánovat průzkumník

Profilování výkonu a přehrávání dotazůmodul přehraje dotazy a přistupuje k jejich živým statistikám výkonu. Pomocí tohoto nástroje můžete přehrát profil dotazu a zjistit, kteří operátoři přidávají největší zatížení systémových prostředků. Není třeba znovu spouštět dotaz.

Zatímco většina optimalizátorů dotazů SQL používá odhadované náklady na plán, Plánujte průzkumníka může zobrazit skutečné pozorované náklady. A rozdíl nákladů můžete vidět přepnutím pohledu mezi odhadem a skutečným. Tento bezplatný nástroj má více funkcí, než máme na jejich představení. Ale protože je to bezplatný nástroj, možná budete chtít vyzkoušet a přesvědčit se sami.

6. dbForge Studio pro SQL Server

DevartJe dbForge Studio pro SQL server je all-in-one SQL server GUI nástroj, který může býtpoužívá se pro správu, správu, vývoj SQL, reportování dat, analýzu, optimalizaci a další. Vývojáři SQL a správci databází mohou pomocí nástroje GUI urychlit téměř všechny složité databázové úkoly, jako je navrhování databází, psaní kódu SQL, porovnávání databází, synchronizace schémat a dat, generování smysluplných testovacích dat, mezi ostatními.

Přehled administrace dbForge Studio pro SQL Server

dbForge Studio pro SQL server zahrnuje Nástroj SQL Query Plan Tool, specializovaný nástroj pro optimalizaci dotazů. Jeho funkce grafu plánu provádění umožňuje vizualizovat a vyladit plán provádění dotazů pomocí určení uzlů s pomalým prováděním. Karta Čekací statistiky nástroje umožňuje snadno zjistit potenciální úzká místa ve vašem dotazu zobrazením seznamu událostí a čekání, které jsou s nimi spojeny. Můžete také použít strom plánu nástroje k získání informací o tom, jak SQL Server provede příkaz SELECT. Ukáže vám, kde by například přidání indexu do tabulky nebo optimalizace spojení tabulky mohlo zvýšit výkon.

Nástroj, který je také známý jako Profilovač dotazů T-SQL, je integrován do standardních, profesionálních aPodnikové verze serveru dbForge Studio pro SQL, jejichž cena je 249,95 $, 499,95 $ a 699,95 $. K dispozici je bezplatná 30denní zkušební verze celého produktu - nejen nástroje pro optimalizaci dotazů -.

Komentáře