关于SQL优化方面的建议

2014-01-25

 

SQL优化主要是看执行计划

1.  扫描机制   全表扫描还是索引扫描

2. 主外键索引

3. 建立索引的方式也很重要,根据不同的情况建立不同的索引

4. 如果SQL中包含了函数,索引是不起效果的,需要建立“函数索引”

 

5.  视图最好是建立在基表上面,千万不要视图里面嵌套视图,会大大降低性能

 

6. 曾文的SQL例子  视图里面有rowid

     同时建议最好用的order by ,group by 等需要建立在索引上面

      hibernate 的 “=” 号默认的是用 like

 

DBA建议能用SQL一句查出来的就不要用游标

 

再生产的库在运行的时候有一个on line的关键字,可以帮我们在数据库还在运行的状态中建立索引

 

我们有一个SQL编码规范,在哪里?需要看看。在CQ的编码规范里面

 

子查询,内部的SQL不要和外部的SQL有关联,同时要尽可能的让内部的SQL数据量减小

同时最能过滤数据的条件,同时数据量最小的表要放在最下面(或者是最后面)

 

hibernate自动生成的SQL有时候也需要看看 性能怎么样,不要迷信hibernate。

 

除了SQL层面,还可以从系统层面(session ,application等系统层面,但是DBA说以后11G的会自能化管理,可调性不大),数据库的参数的优化

最关键的可以根据业务对数据进行归档

 

DBA说 80%的索引 ——》全表——》索引反倒会慢一点,所以需要看具体的执行计划。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值