Apa arti dari n_live_tupdan n_dead_tupdi dalam pg_stat_user_tablesatau pgstattuple?
Apa arti dari n_live_tupdan n_dead_tupdi dalam pg_stat_user_tablesatau pgstattuple?
Jawaban:
Kedua kolom tersebut adalah hasil dari
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;
Merupakan jumlah baris hidup dan mati (tupel) dalam tabel.
Temukan fungsi - fungsi itu di manual .
Baris mati adalah baris yang dihapus yang nantinya akan digunakan kembali untuk baris baru dari INSERTs atau UPDATEs (spasi, bukan data). Beberapa baris mati (atau ruang kosong yang disediakan) dapat sangat berguna untuk pembaruan HOT (Heap-Only Tuples) yang dapat menggunakan kembali ruang di halaman data yang sama secara efisien. Lebih lanjut tentang HOT:
Atau baris mati dapat dihapus oleh VACUUM FULL(atau polos VACUUMjika beruntung) atau operasi serupa di atas meja, sehingga menyusut tabel fisik sesuai.
Setiap kali baris dihapus atau diperbarui, versi baris lama menjadi tidak terlihat oleh semua transaksi lainnya dimulai setelah transaksi dilakukan. Baris tersebut benar-benar mati segera setelah tidak ada lagi transaksi lama yang tidak dikomit. Itu diperlukan untuk model MVCC PostgreSQL untuk menangani konkurensi.
Itu hanya statistik . Anda harus mengaktifkan pengumpulan statistik postgresql.confjika Anda ingin mereka diperbarui secara otomatis. track_countsharus diaktifkan secara default. Ingatlah bahwa statistik tidak diperbarui secara instan. Baca lebih lanjut tentang itu di manual .
SELECT n_live_tup FROM pg_stat_user_tables WHEN relname = 'mytable';Mengapa ini menunjukkan nol?mytablememiliki 6 baris.