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

Postgres đang bỏ qua chỉ mục dấu thời gian, tại sao?

Hãy thử một cái gì đó khác nhau. Tôi chỉ đề xuất đây là "câu trả lời" vì độ dài của nó và bạn không thể định dạng nhận xét. Hãy tiếp cận truy vấn theo mô-đun như một loạt các tập con cần giao nhau. Hãy xem mất bao lâu để thực thi mỗi cái này (vui lòng báo cáo). Thay dấu thời gian của bạn cho t1 và t2. Lưu ý cách mỗi truy vấn xây dựng dựa trên truy vấn trước, làm cho truy vấn trước đó trở thành "chế độ xem nội tuyến".

CHỈNH SỬA:ngoài ra, vui lòng xác nhận các cột trong bảng Mạng.

1

 select PM.receiver_id from private_messages PM
 where PM.create_at between (t1 and t2)

2

 select U.id, U.network_id from users U
 join
 (
   select PM.receiver_id from private_messages PM 
   where PM.create_at between (t1 and t2)
 ) as FOO
 on U.id = FOO.receiver_id

3

select N.* from networks N
join
(
select U.id, U.network_id from users U
 join
 (
   select PM.receiver_id from private_messages PM 
   where PM.create_at between (t1 and t2)
 ) as FOO
 on U.id = FOO.receiver_id
) as BAR
on N.id = BAR.network_id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. dplyr left_join nhỏ hơn, lớn hơn điều kiện

  2. Nhận bản ghi trong đó khóa cột json là null

  3. Làm cách nào để biết bản sao lưu PostgreSQL của tôi có tốt không?

  4. Làm cách nào để chèn dấu thời gian với múi giờ trong postgresql với câu lệnh đã chuẩn bị?

  5. PostgreSQL Streaming Replication - Deep Dive