Mile mě překvapilo, jak mocný je v tomto ohledu PostgreSQL.
Jednoduché logování dotazů, jejichž čas zpracování trvá více jak monitorovaný čas mě umožnil identifikovat dotazy, o kterých jsem ani netušil, že by mohli dělat problém.
Stačí v postgresql.conf zapnout magický přepínač log_min_duration_statement, který je defaultně vypnutý.
Pokud ho nastavím takto
log_min_duration_statement=100tak mi do logu databáze zapíše dotazy, které trvají více jak 100ms.
Pak už přichází ke slovu klasický explain a refaktoring.
Žádné komentáře:
Okomentovat