Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Než začnete diskutovat o technikách použití SQL prostřednictvím kódu programu, je nutné probrat, jak se zpracovává příkaz SQL. Zahrnuté kroky jsou společné pro všechny tři techniky, i když je každá technika provádí v různých časech. Následující obrázek znázorňuje kroky spojené se zpracováním příkazu SQL, které jsou popsány v celé zbývající části této části.
Pokud chcete zpracovat příkaz SQL, dbMS provede následující pět kroků:
DBMS nejprve parsuje příkaz SQL. Příkaz se rozdělí na jednotlivá slova, nazývaná tokeny, zajistí, že příkaz obsahuje platné sloveso a platné klauzule atd. Chyby syntaxe a pravopisné chyby mohou být v tomto kroku zjištěny.
DBMS ověří příkaz. Ověřuje výrok ve srovnání se systémovým katalogem. Existují v databázi všechny tabulky pojmenované v příkazu? Existují všechny sloupce a jsou názvy sloupců jednoznačné? Má uživatel požadovaná oprávnění ke spuštění příkazu? V tomto kroku lze zjistit určité sémantické chyby.
DBMS vygeneruje plán přístupu pro tento příkaz. Plán přístupu je binární reprezentace kroků potřebných k provedení příkazu; je to ekvivalent DBMS spustitelného kódu.
DBMS optimalizuje plán přístupu. Zkoumá různé způsoby provádění plánu přístupu. Dá se index použít k urychlení hledání? Má DBMS nejprve použít vyhledávací podmínku tabulky A a pak ji spojit s tabulkou B, nebo by měla začít spojením a následně použít podmínku hledání? Je možné se sekvenčnímu vyhledávání v tabulce vyhnout nebo zmenšit na podmnožinu tabulky? Po prozkoumání alternativ vybere DBMS jednu z nich.
DBMS spustí příkaz spuštěním plánu přístupu.
Kroky používané ke zpracování příkazu SQL se liší v množství požadovaného přístupu k databázi a v době, kterou zabírají. Analýza příkazu SQL nevyžaduje přístup k databázi a dá se provést velmi rychle. Optimalizace je na druhou stranu velmi náročný proces procesoru a vyžaduje přístup k systémovému katalogu. V případě složitého, vícetabelového dotazu může optimalizátor prozkoumat tisíce různých způsobů provádění stejného dotazu. Náklady na neefektivní provedení dotazu jsou obvykle tak vysoké, že čas strávený optimalizací se více než vrátí díky zvýšené rychlosti provádění dotazu. To je ještě důležitější v případě, že stejný optimalizovaný plán přístupu lze použít opakovaně a znovu k provádění opakovaných dotazů.