PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Postgres mengabaikan indeks stempel waktu, mengapa?

Mari kita coba sesuatu yang berbeda. Saya hanya menyarankan ini sebagai "jawaban" karena panjangnya dan Anda tidak dapat memformat komentar. Mari kita dekati kueri secara modular sebagai rangkaian himpunan bagian yang perlu berpotongan. Mari kita lihat berapa lama waktu yang dibutuhkan masing-masing untuk mengeksekusi (harap laporkan). Ganti stempel waktu Anda untuk t1 dan t2. Perhatikan bagaimana setiap kueri dibangun di atas kueri sebelumnya, menjadikan kueri sebelumnya sebagai "tampilan sebaris".

EDIT:juga, harap konfirmasikan kolom di tabel Jaringan.

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. Menerapkan sejarah tabel PostgreSQL

  2. cara membuat pencarian suka di postgresql dan node js

  3. Pembandingan Postgres-XL

  4. Cara membuat kolom untuk bidang yang berbeda tanpa menerapkan fungsi pivot

  5. PostgreSQL:menggunakan kolom terhitung dalam kueri yang sama