先写我的思路,求高手指点
优化思路:
一.查看执行计划1.尽可能减少访问数据库次数。
2.要选择合适访问表方式,通过全表扫描方式,还是通过rowid的访问方式。
(结果数据是占全表的大部分或者表很小时,用全表扫描可能比索引更高效。)二.查看能否共享SQL1.是否能共享SQL,避免重复解析三.关注细节,谁比谁高效
1.>=比>高效
2.union比or高效
3.in比or高效
4.union all 比union高效
5.exist比in高效
6.not exist比not in高效四.关注细节,要提倡的1.使用内部函数提高效率
2.使用decode函数减少处理时间
3.把过滤最大数据记录的条件写在where子句末尾,Oracle采用自下而上的顺序解析where子句五.关注细节,要避免的1.避免在索引列上用not
2.避免在索引列上用is null和is not null
3.避免Select子句中使用*