首页 > 数据库技术 > 详细

SQL性能优化之一

时间:2014-02-28 11:21:57      阅读:501      评论:0      收藏:0      [点我收藏+]

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,先拓序,后在取数.

上面两句是两个完全不一样意思

SQL性能优化之一,布布扣,bubuko.com

SQL性能优化之一

原文:http://www.cnblogs.com/peter-peng/p/3572110.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!