PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Lập chỉ mục để nhận số hàng của bảng PostgreSQL chỉ đọc (không thay đổi)?

Thật không may, trong postgresql SELECT COUNT (*) thường là chậm hơn mysql mà nó thường nhận được so với.

Bạn có thể sử dụng truy vấn sau để thay thế cho SELECT COUNT (*).

 SELECT reltuples FROM pg_class WHERE relname = 'mytable';

Đây không phải lúc nào cũng cập nhật 100% nhưng đối với các bảng không thay đổi, nó sẽ chính xác mọi lúc. Và ngay lập tức. Đối với các bảng rất lớn, phần trăm lỗi sẽ rất nhỏ và do đó rất đáng để tiết kiệm thời gian.

Nếu nó quan trọng và bảng không chứa null, bạn có thể sử dụng

 SELECT COUNT(primary_key_column) FROM table

và điều này sẽ nhanh hơn đáng kể so với SELECT COUNT (*)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL - làm thế nào để hiển thị ngày ở múi giờ khác nhau?

  2. Coalesces jsonArrayAgg thành mảng trống trong jOOQ

  3. Làm thế nào để truy vấn postgres trên các thông số tùy chọn?

  4. khởi động postgresql và pgadmin trong windows mà không cần cài đặt

  5. pg_dump với --exclude-table vẫn bao gồm các bảng đó trong các lệnh COPY nền mà nó chạy?