一些自己不注意但又十分有用的sql优化:
1 、有效的共享游标。两次查询的语句,做到一模一样,包括大小写。
2、 合理使用函数
例如:f_mat 自定义函数,转化大写
(1) select * from A where A.name = f_mat('LX');
(2)select * from A where A.name =(select f_mat('LX') from dual);
(2)的效率要高如1的。
3、选择from表的顺序。
在没有索引的情况下,oracle解析器是从右边到左边,即from右边的最先处理。你要选择数量少的作为驱动表(即放到最后写)。
有索引的情况下,先回找索引表为驱动表。
4、where 字句的连接顺序
(1)select * from TA ,TB where TA.id =TB.id and TA.name = 'AAA';
(2)select * from TA ,TB where TA.name = 'AAA' and TA.id =TB.id ;
(1)的数据效率要快。