20090328_优化学习笔记

1,from 中的解析是自右向左解析的,有两个表时,其中把记录最小的那个表放到最后边,如果有三个表的话,把交叉的那个表放到最后。
2,where中的解析式自下而上解析的,这样表之间的连接就要写到其他条件的前面,这样就可以把单个表之间的大量数据过滤掉,表连接也就更有效率一些。
3,select中避免使用*字符,因为在解析的时候,他会把*解析成所有的字段名,这一过程是要查询数据字典的,所以浪费了很多时间。
4,减少访问数据库的次数。
5,使用decode函数可以避免重复扫描相同记录或重复连接相同的表。
6,整合简单无关联的数据库访问。
7,用truncate代替delete。
8,尽量多的使用commit。
9,count(*)比count(1)稍快,但是如果要是对索引列的统计的话count(empno)仍然是最快的。
10,用where代替having,这时因为having只会在检索出所有记录之后才对结果集进行过滤,这个处理需要排序,总计等操作,如果通过where子句限制记录的条数,那就能减少这个处理的开销。
11,减少对表的查询,能组合到一起的就组合到一起。
12,多使用表的别名。
13,用exests代替in,用not exists代替no in将更提高效率。
14,采用表连接的方式比exists更有效率。
15,在一个对多个信息表的查询中,避免用distinct ,一般考虑用exist替换。
16,用索引提高效率,但是在增删改的表中有时是用索引反而会效率下降,索引要定期的定期的进行重构alter index indexname rebuild tablespacename。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12712263/viewspace-580443/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12712263/viewspace-580443/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值