暂无图片
暂无图片
8
暂无图片
暂无图片
暂无图片
Oracle 性能优化总结.pdf
4115
38页
119次
2021-03-13
10墨值下载
Oracle 性能优化总结
目录
一、 百万级数据库优化方案 ............................................................................................................ 2
二、 数据库访问性能优化 ................................................................................................................ 5
三、 数据库访问优化法则详解 .................................................................................................... 10
3.1 减少数据访问 ........................................................................................................................... 10
3.2 只通过索引访问数据 ............................................................................................................ 17
3.3 优化 SQL 执行计划 ................................................................................................................. 18
3.4 返回更少的数据 ...................................................................................................................... 18
3.4.1 数据分页处理 .................................................................................................................. 18
3.4.2 只返回需要的字段 ....................................................................................................... 20
3.5 减少交互次数 ........................................................................................................................... 21
3.5.1 batch DML.......................................................................................................................... 21
3.5.2 In List .............................................................................................................................. 22
3.5.3 设置 Fetch Size ........................................................................................................... 23
3.5.4 使用存储过程 ................................................................................................................. 26
3.5.5 优化业务逻辑 ................................................................................................................. 27
3.5.6 使用 ResultSet 游标处理记录 ............................................................................... 28
3.6 减少数据库服务器 CPU 运算 ............................................................................................. 31
3.6.1 使用绑定变量 .................................................................................................................. 31
3.6.2 合理使用排序 ................................................................................................................. 34
3.6.3 减少比较操作 ................................................................................................................. 35
3.6.4 大量复杂运算在客户端处理 .................................................................................... 36
3.7 利用更多的资源 ...................................................................................................................... 36
3.7.1 客户端多进程并行访问.............................................................................................. 36
3.7.2 数据库并行处理 ............................................................................................................ 37
一、 百万级数据库优化方案
1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by
涉及的列上建立索引。
2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放
弃使用索引而进行全表扫描,如:
select id from t where num is null
最好不要给数据库留 NULL,尽可能的使用 NOT NULL 填充数据库.
备注、描述、评论之类的可以设置为 NULL,其他的,最好不要使用 NULL。
不要以为 NULL 不需要空间,比如:char(100) 型,在字段建立时,空间就
固定了, 不管是否插入值(NULL 也包含在内),都是占用 100 个字符的空
间的,如果是 varchar 这样的变长字段, null 不占用空间。
可以在 num 上设置默认值 0,确保表中 num 列没有 null 值,然后这样查询:
select id from t where num = 0
3.应尽量避免在 where 子句中使用 != 或 <> 操作符,否则将引擎放弃使用
索引而进行全表扫描。
4.应尽量避免在 where 子句中使用 or 来连接条件,如果一个字段有索引,
一个字段没有索引,将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num=10 or Name = 'admin'
可以这样查询:
select id from t where num = 10
union all
select id from t where Name = 'admin'
5.in 和 not in 也要慎用,否则会导致全表扫描,如:
select id from t where num in(1,2,3)
对于连续的数值,能用 between 就不要用 in 了:
select id from t where num between 1 and 3
很多时候用 exists 代替 in 是一个好的选择:
of 38
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜