Vysvětlení statistik
Když se dotaz spustí, musí vytvořit plán, aby se rozhodl, jak získat přístup k datům. Pokud například dotaz SELECT vrátí každý řádek, není použití indexu přínosné a bylo by efektivnější prohledat celou tabulku. V tomto scénáři je jednoduché naplánovat dotaz, ale většina plánů dotazů není tak jednoduchá.
Představte si scénář, ve kterém spouštíte dotaz, který hledal každou objednávku mezi 10,00 a 20,00 USD. Zpočátku nevíme, jestli dotaz vrátí všechna data v tabulce nebo jen malou podmnožinu. Tato neznámá znesnadňuje plánování strategie dotazu, dokud neuvidíme data. Pokud víme, že tabulka obsahuje objednávky, které mají nákupní cenu mezi 1,00 USD a 800,00 USD, může být index použit k vyhledání malé podmnožina dat. Stále však nemusí existovat dostatek informací pro vygenerování správného plánu dotazu. V tomto příkladu mají objednávky nákupní cenu mezi 1,00 USD a 800,00 USD, 95 % objednávek je mezi 10,00 USD a 20,00 USD a kontrola dat je ve skutečnosti nejúčinnějším plánem.
U scénářů, jako je předchozí příklad, potřebuje PostgreSQL podrobné statistiky, aby bylo možné použít optimální plán dotazů.
Pokud chcete monitorovat statistiky plánování a provádění, existuje rozšíření PostgreSQL označované jako pg_stat_statements. pg_stat_statements je ve výchozím nastavení povolená ve službě Azure Database for PostgreSQL a umožňuje členům role pg_read_all_stats dotazovat se na statistiky pomocí více zobrazení pg_stat. Následující dotaz vrátí aktivitu dotazu pomocí zobrazení pg_stat_activity :
SELECT * FROM pg_stat_activity;
Vypnutí pg_stat_statements
Pokud jsou vaše dotazy jedinečné a neopakujete stejný dotaz pravidelně, jsou historická data dotazů méně užitečná. Pokud také nepoužíváte zobrazení pg_stat , neposkytují žádné výhody. Při údržbě pg_stat_statements je režijní náklady, což může být až 50 % a sledování pg_stat_statements můžete v těchto scénářích vypnout.
Pokud chcete sledování pg_stat_statements vypnout, proveďte následující kroky:
Přejděte na web Azure Portal a vyberte server Azure Database for PostgreSQL.
Vyberte parametry serveru a přejděte do nastavení pg_stat_statements.track .
Pokud chcete sledování vypnout, vyberte ŽÁDNÉ.
Přesnější sledování zobrazíte tak, že vyberete VŠE.
Výchozí nastavení je TOP.
Zvolte Uložit.