Příkazy SQL jsou velmi jednoduché na ovládání a uživatelsky efektivní, protože mají jednoduchou syntaxi. Pak ale efektivita příkazu SQL podléhá různým databázovým funkcím, konkrétně z hlediska jejich individuálního výpočetního času. Efektivita jazyka také neznamená, že by byla jednodušší i jeho optimalizace. Každá databáze vyžaduje jedinečné způsoby vyladění podle svých individuálních potřeb.
Proto je vhodné používat nejlepší databázi SQL, stejně jako znát různé způsoby optimalizace nebo posílení databáze tak, aby z ní byl zajištěn co nejlepší výkon. Rozsah optimalizace databáze SQL pro vývojáře, jako jsou řekněme seniorní vývojáři Java j2ee, se v některých ohledech liší od práce správce databáze (DBA) a v jiných ohledech jsou si podobné. Ve velkých firmách se často vyžaduje, aby vývojáři a DBA pracovali společně, přičemž se ukazuje, že častěji než jindy dochází mezi oběma týmy ke konfliktu. Existují různé způsoby, kterými lze databáze SQL vyladit.
- NEXT GENERATION DEVOPS: (DevOps Institute): VALUE STREAM MANAGEMENT
- JAK ZVÝŠIT SVŮJ SERVERLESS TEAM
- MLOPS: CONTINUOUS DELIVERY OF MACHINE LEARNING SYSTEMS
- Vhodné indexování
- VÍCE: Nejlepší databáze v roce 2017: Vyhledávejte pouze relevantní data
- Zbavení se korelovaných poddotazů
- VÍCE: Tým MySQL versus tým PostgreSQL: Tyto společnosti na ně sázejí
- Používání nebo vyhýbání se dočasným tabulkám podle požadavku
- Vyhněte se kódovacím smyčkám
- Plány provádění
NEXT GENERATION DEVOPS: (DevOps Institute): VALUE STREAM MANAGEMENT
Helen Beal (DevOps Institute.)
JAK ZVÝŠIT SVŮJ SERVERLESS TEAM
Sheen Brisals (The LEGO Group)
MLOPS: CONTINUOUS DELIVERY OF MACHINE LEARNING SYSTEMS
Hauke Brammer (finpair GmbH)
.
Vhodné indexování
Index je v podstatě datová struktura, která pomáhá celkově urychlit proces vyhledávání dat. Unikátní index je druh indexace, který vytváří samostatné datové sloupce, aniž by se vzájemně překrývaly. Správné indexování zajišťuje rychlejší přístup do databáze. Nadměrné indexování nebo žádné indexování je špatné. Bez jakéhokoli indexování bude zpracování velmi pomalé, zatímco indexování všeho způsobí, že spouštěče vkládání a aktualizace budou neúčinné.
VÍCE: Nejlepší databáze v roce 2017:
Vyhledávejte pouze relevantní data
Specifikace požadovaných dat umožňuje přesné vyhledávání. Použití příkazů *
a LIMIT
místo SELECT *
podle potřeby je skvělým způsobem, jak vyladit databázi a zároveň se vyhnout načítání celého souboru dat, když uživatel chce jen určitou část. Samozřejmě to nebude nutné, pokud je množství dat celkově menší. Ale při přístupu k datům z velkého zdroje by zadání požadovaných částí ušetřilo spoustu nezbytného času.
Příkaz *
je určen k použití při zadávání dat ze sloupců a příkaz LIMIT
v případě, že uživatel požaduje data z určitého počtu řádků z množiny. Šetrný výběr není právě nutným pravidlem. Pomáhá však v budoucnu předejít systémovým chybám. Omezení a upřesnění dat také do značné míry snižuje další nutnost optimalizace databáze.
Zbavení se korelovaných poddotazů
Korelovaný poddotaz v podstatě závisí na nadřazeném nebo vnějším dotazu. Tento druh vyhledávání se provádí řádek po řádku. To znamená, že snižuje celkovou rychlost procesu. Tento problém obvykle spočívá v příkazu WHERE
z vnějšího dotazu, při jehož použití se dílčí dotaz spouští pro každý řádek, vrácený nadřazeným dotazem, což následně zpomaluje celý proces a snižuje efektivitu databáze. Lepším způsobem vyladění databáze je tedy v tomto případě příkaz INNER JOIN
, namísto korelovaného poddotazu. V některých případech je však použití korelovaného poddotazu nezbytné.
VÍCE: Tým MySQL versus tým PostgreSQL: Tyto společnosti na ně sázejí
Používání nebo vyhýbání se dočasným tabulkám podle požadavku
Pokud lze jakýkoli kód napsat dobře a jednoduše, není vůbec nutné ho komplikovat dočasnými tabulkami. Samozřejmě, pokud má být v datech nastaven specifický postup, který vyžaduje více dotazů, použití dočasných tabulek se v takových případech v podstatě doporučuje. Dočasné tabulky se často střídají s dílčími dotazy, ale je třeba mít na paměti specifickou efektivitu, kterou by každý z nich poskytl v samostatných případech.
Vyhněte se kódovacím smyčkám
Vyhnout se kódovacím smyčkám je velmi potřebné, aby nedocházelo ke zpomalování celé sekvence. Toho lze dosáhnout použitím unikátních příkazů UPDATE
nebo INSERT
s jednotlivými řádky a zajištěním, aby příkaz WHERE
neaktualizoval uložená data v případě, že najde odpovídající již existující data.
Plány provádění
Významnou roli při ladění databází SQL hraje nástroj plánů provádění vytvořený optimalizátorem. Pomáhají také při vytváření správných indexů. I když jeho hlavní funkcí je graficky zobrazit různé metody načítání dat. To zase pomáhá při vytváření potřebných indexů a provádění dalších potřebných kroků k optimalizaci databáze.
Samozřejmě existuje spousta dalších způsobů, jak lze co nejefektivněji vyladit databázi SQL. Také existuje velká pravděpodobnost, že výše uvedené kroky nemusí být správnou volbou pro všechny databáze. Každá databáze bude vyžadovat optimalizační techniky jedinečně specifické pro její potřeby.