当数据量比较大的时候,提升查询效率就是需要去考虑的事情了。一个百万级别的表格,如果不做任何优化的话,即使是最简单的查询语句执行起来也是慢的让人难以接受;当然“优化”本身是一个比较复杂的工程,从设计表、字段到查询语句的写法都有很多讲究,这里只考虑索引的方式,且是最普通的索引;
下面的操作中对应数据库表w008_execrise_info(8000数据量), w008_wf02_info(4000数据量)
1 任务表数据
SELECT
w.*
FROM
w008_wf02_info w
WHERE
w.is_removed =0
AND w.wfno = ‘WF02′
AND EXISTS (
SELECT
1
FROM
w008_execrise_info info
JOIN w008_privilege_allocation P ON (
info.subjecttyp = P.subjecttyp
AND info.gradetyp = P.gradetyp
AND P.loginname = w.create_by
AND P.verifyusers =’yixi_li’
AND P.wftype = 20
)
WHERE
info.is_removed =0
AND info.wfid = w.wfid
)
ORDER BY
create_date DESC