EN - FR - DE - ES - IT - PT -

LexiconDream

❓ Dotaz

Žádost o konkrétní data z databáze.

Dotaz

Dotaz požaduje specifická data z databáze. V SQL dotaz používá SELECT k určení sloupců, FROM k určení tabulek a WHERE k filtrování řádků. JOIN kombinuje tabulky. GROUP BY agreguje. ORDER BY třídí. Databáze analyzuje dotaz, plánuje strategii provádění a vrací výsledky. Stejnou otázku lze položit mnoha způsoby a některé způsoby jsou mnohem rychlejší než jiné.

Výkon dotazů závisí na několika faktorech. Indexy urychlují vyhledávání ve filtrovaných sloupcích. Plánovač dotazů volí mezi různými strategiemi provádění na základě statistik o datech. Zastaralé statistiky vedou ke špatným plánům. Napsání dotazu, který efektivně využívá indexy, je dovednost. Funkce aplikovaná na indexovaný sloupec v klauzuli WHERE zabraňuje použití indexu. Dotaz, který vybere všechny sloupce, když je potřeba jen několik z nich, plýtvá šířkou pásma a pamětí. Poddotaz, který se spouští jednou na řádek, je pomalý. Stejná logika jako join je rychlá. Optimalizace dotazů je zčásti umění, zčásti věda. Databáze poskytuje nástroje: plány EXPLAIN, profilery dotazů a čítače výkonu. Čtení těchto nástrojů vyžaduje praxi. Dotaz, který se spouští v milisekundách na malé datové sadě, může na velké trvat minuty. Rozdíl je často v plánu, nikoli v hardwaru.

Komponenty dotazu

Dotaz je otázka. Databáze na ni odpovídá. Kvalita odpovědi závisí na tom, jak je otázka položena.

Comments

No comments yet. Be the first to share a thought.

Leave a comment