Obsah:
Definice - Co znamená Optimalizátor dotazů?
Optimalizátor dotazů je součást systému správy kritických databází (DBMS), která analyzuje dotazy strukturovaného dotazovacího jazyka (SQL) a určuje efektivní mechanismy provádění. Optimalizátor dotazů generuje jeden nebo více plánů dotazů pro každý dotaz, z nichž každý může být mechanismem použitým ke spuštění dotazu. Nejúčinnější plán dotazů je vybrán a použit pro spuštění dotazu.
Uživatelé databáze obvykle neinteragují s optimalizátorem dotazů, který funguje na pozadí.
Techopedia vysvětluje Optimalizátor dotazů
Dotazy SQL mohou být jednoduché nebo složité příkazy. Každý příkaz SQL vyžaduje minimální využití cenných prostředků, jako jsou čtení disku a paměť serveru. Optimalizátor dotazů zajišťuje toto i urychlené provádění každého dotazu SQL. Optimalizátor dotazů může například generovat řadu plánů dotazů založených na nákladech na zdroje. Jeden plán dotazů může zahrnovat čtení tabulky pro načtení podmnožiny jejích dat, zatímco jiný plán může zahrnovat použití indexů tabulky pro rychlé čtení dat. Tito jsou známí jako náklady-založené optimalizátory.
Optimalizátor dotazů může vybrat různé plány dotazů pro stejný dotaz, v závislosti na okolních podmínkách. Například uživatel spustí dotaz, který vybere přibližně polovinu dat tabulky. Uživatel spustí dotaz, když je server silně pověřen více simultánními připojeními. V tomto scénáři se může optimalizátor dotazů rozhodnout použít plán dotazů, který volá vytvořené indexy tabulek k uspokojení dotazu, na základě omezených zdrojů. To zajišťuje minimální odliv serveru pomocí dotazu. Spuštěním stejného dotazu v jiném čase s více prostředky optimalizátor dotazu mohl určit, že omezení prostředků není problém. V tomto případě by indexy tabulky nebyly použity a optimalizátor dotazů by umožnil úplné načtení tabulky do paměti serveru.