Ý nghĩa của n_live_tup và n_dead_tup trong pg_stat_user_tables là gì


20

Ý nghĩa của n_live_tupn_dead_tuptrong pg_stat_user_tableshoặc là pgstattuplegì?

Câu trả lời:


28

Hai cột đó là kết quả của

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;

Thể hiện số lượng hàng sống và chết (bộ dữ liệu) trong bảng.
Tìm các chức năng trong hướng dẫn .

Các hàng chết là các hàng bị xóa mà sau này sẽ được sử dụng lại cho các hàng mới từ INSERTs hoặc UPDATEs (khoảng trắng, không phải dữ liệu). Một số hàng chết (hoặc không gian trống dành riêng) có thể đặc biệt hữu ích cho các bản cập nhật NÓNG (Bộ dữ liệu chỉ có Heap) có thể sử dụng lại không gian trong cùng một trang dữ liệu một cách hiệu quả. Thêm về NÓNG:

Hoặc các hàng chết có thể được loại bỏ bởi VACUUM FULL(hoặc đơn giản VACUUMnếu nó gặp may) hoặc các thao tác tương tự trên bàn, do đó thu hẹp bảng vật lý tương ứng.

Bất cứ khi nào một hàng bị xóa hoặc cập nhật, phiên bản hàng cũ sẽ trở nên vô hình đối với tất cả các giao dịch khác bắt đầu sau khi giao dịch được thực hiện. Hàng hoàn toàn chết ngay khi không còn giao dịch cũ nào không được cam kết. Điều đó là cần thiết cho mô hình MVCC của PostgreQuery để xử lý đồng thời.

Đó chỉ là số liệu thống kê . Bạn cần kích hoạt thu thập số liệu thống kê postgresql.confnếu bạn muốn chúng được cập nhật tự động. track_countsnên được mặc định mặc dù. Hãy nhớ rằng số liệu thống kê không được cập nhật ngay lập tức. Đọc thêm về điều đó trong hướng dẫn .


Tuples chỉ Heap là gì? Khi tôi phát hành SELECT n_live_tup FROM pg_stat_user_tables WHEN relname = 'mytable';Tại sao nó hiển thị bằng không? mytablecó 6 hàng.
Majid Azimi

@MajidAzimi: Tôi đã thêm một chút vào câu trả lời của mình.
Erwin Brandstetter

5
@MajidAzimi Nếu bạn muốn tìm hiểu một loạt về MVCC và HoT, hãy xem các slide từ bài thuyết trình của Pavan Deolasee tại PGCon'08
dbenhur

@dbenhur: Liên kết đẹp! Bài thuyết trình được thực hiện rất tốt và dễ hiểu.
Erwin Brandstetter 23/03 '

@dbenhur Liên kết dường như đã chết.
Aryeh Leib Taurog
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.