0
 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(!) 秒。

有人知道为什么是这样吗?

4

1 回答 1

2

事实证明,答案很奇怪。我正在使用由其他人在过去某个时候编写的函数提供的连接......原来它正在使用

pg_query($db_platform, "set enable_seqscan=false");

难怪使用该连接时查询被破坏了。

于 2013-03-08T20:03:06.750 回答