sql >> Database teknologi >  >> RDS >> PostgreSQL

Analyse af PostgreSQL-tabelstatistik

Ved at bruge statistiktabeller i PostgreSQL kan du overvåge antallet af levende og døde rækker, også kaldet tupler, i tabellen. Live rækker er de rækker i din tabel, der i øjeblikket er i brug og kan forespørges i Chartio for at referere og analysere data. Døde rækker er slettede rækker, der har fået deres data fjernet og er beregnet til at blive genbrugt af din datakilde, når du bruger en skrivekommando som INSERT eller UPDATE.

Bemærk - Chartios forbindelse til din datakilde bør være skrivebeskyttet for at forhindre ondsindet eller utilsigtet skrivning til din kilde. Desuden er visse kommandoer ikke tilladt i Chartios forespørgselsbygger for at forhindre disse kommandoer i at blive sendt til din kilde af Chartio.

Nu til den statistikforespørgsel, du vil bruge. Vi vil sende en forespørgsel til Postgres State User Tables (pg_stat_user_tables), som er en diagnostisk statistiktabel, som Postgres opbevarer på dine kilder (så længe du har de korrekte konfigurationsindstillinger). Der er et utal af statistikker, der kan bruges på din kilde.

Til vores formål her vil vi analysere de levende og døde tupler ved at bruge følgende forespørgsel:

select relname, n_live_tup, n_dead_tup
from pg_stat_user_tables
group by 1, 2, 3
order by 2, 3 desc

Lad os opdele kolonnerne:

relname =navnet på den pågældende tabel

n_live_tup =det omtrentlige antal live-rækker

n_dead_tup =det omtrentlige antal døde rækker

Lad os nu se det i praksis.

Du kan gå til Chartio Data Explorer i udforskningstilstand og vælge den datakilde, du gerne vil analysere. I eksemplet nedenfor bruger jeg Chartio-demokilden, som din organisation var knyttet til, da du tilmeldte dig Chartio. Så kan jeg bare kopiere og indsætte SQL-forespørgslen ovenfor og køre den mod datakilden. Du kan se på det resulterende søjlediagram, at der ikke er nogen døde rækker i disse tabeller, og at besøgstabellen har flest levende rækker.

Ved at bruge denne diagnostiske forespørgsel vil du være i stand til at overvåge dine kilder og deres statistik regelmæssigt. Jeg kan endda foreslå, at du bruger denne forespørgsel og andre lignende den til at bygge et overvågningsdashboard, der kan hjælpe dig med at overvåge dine kilder og deres statistikker med et øjeblik, og endda oprette en rapport, der kan sendes til dig hver morgen for at holde et vågent øje med dine kilder.


  1. Fejlfinding Variable Memory Grants i SQL Server

  2. Postgres og indekser på fremmednøgler og primærnøgler

  3. SELECT DISTINCT er langsommere end forventet på mit bord i PostgreSQL

  4. Enhver præstationspåvirkning i Oracle for at bruge LIKE 'streng' vs ='streng'?