Dotazy, tabulky a pohledy

Optimalizace výkonu dotazů v PostgreSQL

Amy McCarty

Instructor

Dotaz

 

SELECT *
FROM ...
  • Tabulka
    • Základní tabulka
    • Dočasná tabulka
  • Pohled
    • Pohled
    • Materializovaný pohled
Optimalizace výkonu dotazů v PostgreSQL

Základní tabulka

 

Popis organizované úložiště
Obsahuje data
Načtení proces extrakce, transformace a načtení (ETL)
Zdroj HR systém, CRM, sběr dotazníků apod.
Optimalizace výkonu dotazů v PostgreSQL

Dočasná tabulka

 

Popis organizované úložiště (řádky a sloupce)
Obsahuje data
Načtení dotazem (přechodné)
Zdroj existující základní tabulky

 

CREATE TEMP TABLE my_temptable AS 
SELECT * 
FROM survey_monkey_results
WHERE survey_date >= '2019-01-01';

SELECT * FROM my_temptable
Optimalizace výkonu dotazů v PostgreSQL

Standardní pohled

 

Popis uložený dotaz
Obsahuje instrukce / definice pohledu
Načtení nikdy
Zdroj existující základní tabulky

 

Využití pohledu

  • Spojení často používaných tabulek
  • Vypočítané sloupce
    • Souhrnné metriky
  • Zobrazení části dat tabulky
    • Zobrazit zaměstnance, skrýt platy
Optimalizace výkonu dotazů v PostgreSQL

Materializovaný pohled

 

Popis uložený dotaz pohled
Obsahuje data tabulka
Načtení proces obnovení tabulka
Zdroj existující základní tabulky pohled

Využití materializovaného pohledu

  • Stejné jako pohled
    • Rychlejší
Optimalizace výkonu dotazů v PostgreSQL

Přehled odkazů v klauzuli FROM

Co Proč
Tabulka základní úložiště
Dočasná tabulka urychluje dotaz nad velkou tabulkou
Pohled složitá logika nebo vypočítaná pole
Materializovaný pohled složitá logika zpomalující výkon
Optimalizace výkonu dotazů v PostgreSQL

Informační schéma

  • Poskytuje metadata o databázi
  • Existuje v mnoha databázích
    • PostgreSQL, SQL Server, MySQL

 

SELECT table_type 
FROM information_schema.tables 
WHERE table_catalog = 'orders_schema' 
AND table_name = 'customer_table'

 

 

 

  • BASE TABLE : základní tabulka
  • LOCAL TEMPORARY : dočasná tabulka
  • VIEW : pohled nebo materializovaný pohled
Optimalizace výkonu dotazů v PostgreSQL

Pojďme procvičovat!

Optimalizace výkonu dotazů v PostgreSQL

Preparing Video For Download...