Tato stránka byla strojově přeložena. Přečtěte si anglický originál. English

Optimalizace dotazů Firebird se zabývá tím, jak probíhají příkazy SELECT: plány, statistiky, přístupové metody, vzory ladění a jak zachytit pomalé dotazy pomocí MON$ a Trace API.

Přibližně 5-6 hodin · Anglicky · Pro vývojáře · Všechny kurzy

Osnova

  • Výkon dotazů SELECT - jak je dotaz prováděn
    • Přístup klient-server
    • Příprava, generování plánu, provádění, načítání, bufferování
  • Statistiky provádění
    • Čtení, zápisy, načítání, čas
    • Databázová cache, disk, CPU
    • Jak garbage ovlivňuje provádění
    • Cache hits (Classic vs SuperServer)
  • Přístupové metody / datové cesty
    • NATURAL scan
    • INDEX search: B-stromy, ukazatele na záznamy, směr, příklady
    • Vynucené použití indexu, bitový merge indexů
    • Kardinalita tabulky a selektivita indexu
    • Vypnutí indexů v WHERE
    • Index ORDER vs SORT (nastavení firebird.conf)
    • Vypnutí indexů v ORDER BY / GROUP BY
    • Plány v uložených procedurách a pohledech
  • Ladění dotazů
    • Jak číst PLAN
    • Úpravy optimalizátoru
    • WHERE FIELD IN (…)
    • LIKE, CONTAINING, STARTING WITH
    • JOIN: implicitní vs explicitní, špatné joiny, LEFT/RIGHT, self-joiny
    • UPDATE + SELECT
    • MAX, MIN, COUNT, AVG, SUM
    • IN vs EXISTS vs MERGE
    • WHERE (X AND Y) OR (K AND N)
  • Sledování pomalých dotazů pomocí MON$ a Trace API
    • Co jsou MON$ a Trace
    • Důležité pole MON$
    • Parametry a výstup Trace API
    • Nástroje (včetně monitorování HQbird)