sql >> Databasteknik >  >> RDS >> PostgreSQL

Analysera PostgreSQL-tabellstatistik

Genom att använda statistiktabeller i PostgreSQL kan du övervaka antalet levande och döda rader, även kallade tupler, i tabellen. Live-rader är de rader i din tabell som för närvarande används och som kan frågas i Chartio för att referera och analysera data. Döda rader är raderade rader som har fått sina data borttagna och som är tänkta att återanvändas av din datakälla när du använder ett skrivkommando som INSERT eller UPDATE.

Obs - Chartios anslutning till din datakälla bör vara skrivskyddad för att förhindra uppsåtlig eller oavsiktlig skrivning till din källa. Dessutom är vissa kommandon inte tillåtna i Chartios frågebyggare för att förhindra att dessa kommandon skickas till din källa av Chartio.

Nu, för statistikfrågan du kommer att använda. Vi kommer att skicka en förfrågan till Postgres States User Tables (pg_stat_user_tables), som är en diagnostisk statistiktabell som Postgres behåller på dina källor (så länge du har rätt konfigurationsinställningar). Det finns en mängd statistik som kan användas på din källa.

För våra syften här kommer vi att analysera de levande och döda tuplarna med hjälp av följande fråga:

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

Låt oss dela upp kolumnerna:

relname =namnet på tabellen i fråga

n_live_tup =det ungefärliga antalet levande rader

n_dead_tup =det ungefärliga antalet döda rader

Låt oss nu se det i praktiken.

Du kan gå till Chartio Data Explorer i utforskande läge och välja den datakälla du vill analysera. I exemplet nedan använder jag Chartio-demokällan som din organisation var länkad till när du registrerade dig hos Chartio. Sedan kan jag bara kopiera och klistra in SQL-frågan ovan och köra den mot datakällan. Du kan se på det resulterande stapeldiagrammet att det inte finns några döda rader i dessa tabeller och att besökartabellen har flest liverader.

Med hjälp av denna diagnostiska fråga kommer du att kunna övervaka dina källor och deras statistik, regelbundet. Jag kan till och med föreslå att du använder den här frågan och andra liknande den för att bygga en övervakningspanel som kan hjälpa dig att övervaka dina källor och deras statistik på ett ögonblick, och till och med skapa en rapport som kan skickas till dig varje morgon för att hålla ett vakande öga på dina källor.


  1. INSERT INTO kontra SELECT INTO

  2. PRINT-sats i T-SQL

  3. Hur skapar man tabell med SQLite-databas i Android?

  4. MySQL Jämför databaser