Oracle数据库优化



 1. 使用索引
    当SQL中含有max 、min 、order by 时增速明显。
    建立索引应用于Join 、where 、order by排序的字段上,
    避免建立在含有大量重复的字段上,例如某个具有枚举类型的字段,
    避免索引所在的字段含有 Null 值
    //索引会降低 InsertUpdate 的速率

 2. 选取最适用的字段属性
    Char 是定长, Varchar 是变长,
    如果是备注说明字段, Varchar 效果好于 Char ,
    如果是邮政编码、手机号等,可以直接给其定长,

 3. 尽量把字段设置成 Not Null 
    这样查询时,数据库不用去比较 Null4. 使用 Join 代替子查询
    子查询即使用 INNot IN 
    //很多时候 exists 代替 IN 是一个很好的选择
    //对于连续的数值,能使用 between 就不要用 IN5. 使用 with xx as (select xx from xx) 将需要的字段先取出来,
    再进行关联查询

 6. 避免在 Where 子句中使用 != 或 <> 会使数据库放弃使用索引而进行全表扫描
    //解决:可以使用 < 和 > 拼接代替

 7. 避免在 Where 子句中使用 or 来连接
    如果一个字段有索引而另一个没有会使数据库放弃索引而进行全表扫描
    //解决:可以使用 union 来拼接

 8. like 会导致全表扫描

 9. select xx1, xx2 from xx 
    效率大于
    select * from xx

 10. 避免使用游标

 11. 分库



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dao啦C梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值