欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Oracle数据库优化

程序员文章站 2022-06-02 15:43:20
...


 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. 分库