1: 如果确定要用到删除全表 delete from tablename commit 这种方式是不可取的,因这样会产生大量的redo-log,一般建议用truncate或是临时表(这样可以告诉oracle是临时数据,不用记redo-log)
2:如果某一columns是number类型,但在where条件中把它隐式转换成string时就会影响速度,如果加了索引,也蒋会失效。
3:SQL在大数量查时,一个观点要窂记:能尽量过虑掉,窄小范围。
4:少用distict order by group by。
5:with 用法:得到的结果要多次使用
6:PL/SQL是在服务器运行,所有速度快,展示在前台。
7:分区的注意。
8:全是空值索引失效。
9:尽量用静态SQL语句,大量条件没有办法时才考虑用动态SQL:因为oracle要硬编译。
10:在有主健或是索引的时候count(1) ,count(*)是一个意思。
11:F5经常查看SQL执行计划。
12:如果有外健时一定要记得在子表上加一个索引。
13:减少commit的次数。
14:一般不用append
15:rownum:
select * from t_dd_batch where rownum<10 order by
1------------随时:先取数再排序.
select * from (select * from t_dd_batch order by 1)
where rownum<10,先拓序,后在取数.
上面两句是两个完全不一样意思