SELECT a.COL1, a.COL2, b.COL3 ,
a.COL4, e.COL1 , e.COL5, e.COL6,
e.COL7, a.COL8,b.COL9, b.COL10 , a.COL11,
f.COL12 FROM TABLE1 a, TABLE2 b
TABLE3 c, TABLE4 d, TABLE5 e, TABLE6 f
WHERE a.COL1=b.COL1 and a.COL2=c.COL2 and c.COL3=d.COL3 and d.COL5='2'
ORDER BY date(a.COL8) DESC, a.COL2 desc, a.COL1
使用PGAdmin或Navicat直接在数据库上执行上面的查询返回570结果并在不到一秒的时间内完成。但是当通过pg_query执行时,它需要大约40(!)秒。
有谁知道这是为什么?
答案 0 :(得分:2)
事实证明答案很奇怪。我正在使用由其他人在过去的某个时间编写的函数提供的连接...原来它正在使用
pg_query($db_platform, "set enable_seqscan=false");
难怪在使用该连接时查询被破坏了。