-- Plánovač sám provádí optimalizace - příklad obdobný tomu z přednášky, přesto je konečný plán stejný.

EXPLAIN VERBOSE SELECT * FROM (title NATURAL JOIN title_rating) WHERE average > 4;

EXPLAIN VERBOSE SELECT * FROM title NATURAL JOIN (SELECT * FROM title_rating WHERE average > 4) AS a;


-- EXPLAIN vs EXPLAIN ANALYZE (s ANALYZE se dotaz i provede)
EXPLAIN SELECT * FROM title_crew;

EXPLAIN ANALYZE SELECT * FROM title_crew;




-- EXPLAIN ANALYZE s předchozím dotazem (limit omezuje počet n-tic, které se vrátí, jinak to může trvat velmi dlouho - velká kardinalita, žádné indexy, ...)


EXPLAIN ANALYZE VERBOSE SELECT * FROM (title NATURAL JOIN title_rating) WHERE average > 4 LIMIT 10000000;

-- Může být využit paralelismus či různé struktury pro efektivnější uložení dat.

EXPLAIN SELECT * FROM (title_crew  JOIN title ON title_crew.id_title=title.id);


--STATISTIKY
--Mnoho různých informací - vizte dokumentaci

--např.

SELECT * FROM pg_stat_all_indexes;

SELECT * FROM pg_stat_all_tables;

SELECT * FROM pg_statio_all_tables;

-- aktualizace statistik pomocí ANALYZE; (vizte dokumentaci)
