Anlamı nedir n_live_tupve n_dead_tupiçinde pg_stat_user_tablesveya pgstattuple?
Anlamı nedir n_live_tupve n_dead_tupiçinde pg_stat_user_tablesveya pgstattuple?
Yanıtlar:
Bu iki sütun,
SELECT pg_stat_get_live_tuples(c.oid) AS n_live_tup
, pg_stat_get_dead_tuples(c.oid) AS n_dead_tup
FROM pg_class c;
Tablodaki canlı ve ölü satırların (tuples) sayısını temsil eder.
Bu işlevleri kılavuzda bulun .
Ölü satırlar, daha sonra INSERTs veya UPDATEs'den (verilerden değil boşluktan) yeni satırlar için tekrar kullanılacak satırlar silinir . Bazı ölü satırlar (veya ayrılmış boş alan), aynı veri sayfasındaki alanı verimli bir şekilde yeniden kullanabilen SICAK güncellemeler (Yalnızca Öbek Tuples) için özellikle yararlı olabilir. HOT hakkında daha fazlası:
Ya da ölü sıralar masadaki VACUUM FULL(ya VACUUMda şanslıysa düz ) ya da benzer işlemlerle kaldırılabilir , böylece fiziksel masa buna göre daraltılabilir.
Bir satır her silindiğinde veya güncellendiğinde, eski satır sürümü, işlem tamamlandıktan sonra diğer tüm işlemlerde görünmez olur. Daha fazla taahhüt edilmemiş daha eski işlem olmadığında sıra tamamen ölüdür. PostgreSQL'in MVCC modelinin eşzamanlılığı ele alması için bu gereklidir .
Bunlar sadece istatistik . postgresql.confOtomatik olarak güncellenmelerini istiyorsanız istatistik toplamayı etkinleştirmeniz gerekir . track_countsolsa da, varsayılan olarak açık olmalıdır. İstatistiklerin anında güncellenmediğini unutmayın. Kılavuzda bunun hakkında daha fazla bilgi edinin .
SELECT n_live_tup FROM pg_stat_user_tables WHEN relname = 'mytable';Neden sıfır gösteriyor?mytable6 satırı vardır.