小编cas*_*ier的帖子

从多个表中选择时,我得到了记录的乘法

在下面执行此查询时,它花费的时间太长。结果是记录太多,数据库中的记录可能更多。查询应返回大约 117.000 条记录。即在半年内进入数据库的记录量。

为什么这个查询成倍增加,导致数百万条记录?如果有人能告诉我我被卡住的地方,我会很高兴。

/* Formatted on 2011/08/05 17:09 (Formatter Plus v4.8.7) */
SELECT   t2.flag, t3.reg_number, t1.reportdate, t1.latitude, t1.longitude,
     t1.value2 course, ((t1.measspeed) * 3.6) / 1.852, t1.status alarms
FROM traffic t1, details t2, registernumbers t3
WHERE     t1.mobileno = t2.mobile
     AND t2.mobile = t3.mobileno
     AND UPPER (t2.flag) = UPPER ('BEL')
     AND t1.reportdate BETWEEN '1/jan/2011' AND '1/jul/2011'
     AND (latitude > 52 AND longitude > 2)
     AND latitude > 48
  OR (latitude < 52 AND longitude > 2)
  OR (latitude > 52 AND …
Run Code Online (Sandbox Code Playgroud)

oracle query

2
推荐指数
3
解决办法
1642
查看次数

标签 统计

oracle ×1

query ×1