在下面执行此查询时,它花费的时间太长。结果是记录太多,数据库中的记录可能更多。查询应返回大约 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)