PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Postgres игнорира индекс на клеймо за време, защо?

Нека опитаме нещо различно. Предлагам това само като „отговор“ поради дължината му и не можете да форматирате коментар. Нека подходим към заявката модулно като поредица от подгрупи, които трябва да бъдат пресечени. Нека да видим колко време отнема всяко от тях за изпълнение (моля, докладвайте). Заменете вашите времеви клейма за t1 и t2. Обърнете внимание как всяка заявка се основава на предишната, правейки предишната "вграден изглед".

РЕДАКТИРАНЕ:също така, моля, потвърдете колоните в таблицата с мрежи.

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. TypeError:Не може да се извика метод 'query' на null - при извикване на pg.connect с Heroku node.js

  2. SQLAlchemy, PostgreSQL и array_agg:Как да изберете елементи от array_agg?

  3. postgresql 9.5:опит за разделяне на низ на две полета въз основа на интервали

  4. Как да коригирам ГРЕШКА:колона c.relhasoids не съществува в Postgres?

  5. Огледални специфични таблици в postgreSQL