SELECT time_records.*, case_name
FROM time_records, OUTER cases
WHERE time_records.client = "AA1000"
AND time_records.case_no = cases.case_no
ORDER BY time_records.case_no
这个语句返回34个经过排序的记录,花费了5分钟42秒。而:
SELECT time_records.*, case_name
FROM time_records, OUTER cases
WHERE time_records.client = "AA1000"
AND time_records.case_no = cases.case_no
INTO temp foo;
SELECT * from foo ORDER BY case_no
返回34条记录,只花费了59秒。
2.使用not in 或not exists 语句
下面的语句看上去没有任何问题,但是可能执行的很慢:
SELECT code FROM table1
WHERE code NOT IN ( SELECT code FROM table2
假如使用下面的方法:
SELECT code, 0 flag
FROM table1
INTO TEMP tflag;
然后:
UPDATE tflag SET flag = 1
WHERE code IN ( SELECT code FROM table2
WHERE tflag.code = table2.code ;
然后:
SELECT * FROM
tflag
WHERE flag = 0;