Oracle 数据库一些常见的优化
2017-06-09 19:49
232 查看
Oracle 数据库优化:
涉及到硬件优化、 数据库搭建、 数据库设计优化 以及 查询优化 等方面。
常见优化措施:
(1)将数据文件存放到不同的物理硬盘上 ——来降低 I/O 消耗 。
(2)在多 cpu 的数据库服务器上开启更多的进程 。
(3)优化数据库表结构 和 表空间关系设计——遵循基本的数据 库范式理论,以减少数据冗余,并确保数据的完整性与正确性。
(4)恰当地使用约束、视图、索引和 子查询 等。
(5)select、insert、update、delete、merge(只有sql server 和 oracle有,MySQL和PostgreSQL不可用)
a、查询条件顺序——oracle自下而上解析where条件子句,把能过滤掉大量记录的条件写在where条件子句末尾。
b、表连接尽量使用表别名——且把别名都缀在每个字段前,可以减少解析时间。
c、用exists代替 distinct 、in
d、用where 替换 having ——select语句的执行顺序:where—>group by—>select查询—>having—>order by。
注: 如果分组查询的过滤条件 涉及到 分组计算,就只能在having子句中指定。
e、尽量使用系统函数。
涉及到硬件优化、 数据库搭建、 数据库设计优化 以及 查询优化 等方面。
常见优化措施:
(1)将数据文件存放到不同的物理硬盘上 ——来降低 I/O 消耗 。
(2)在多 cpu 的数据库服务器上开启更多的进程 。
(3)优化数据库表结构 和 表空间关系设计——遵循基本的数据 库范式理论,以减少数据冗余,并确保数据的完整性与正确性。
(4)恰当地使用约束、视图、索引和 子查询 等。
(5)select、insert、update、delete、merge(只有sql server 和 oracle有,MySQL和PostgreSQL不可用)
a、查询条件顺序——oracle自下而上解析where条件子句,把能过滤掉大量记录的条件写在where条件子句末尾。
b、表连接尽量使用表别名——且把别名都缀在每个字段前,可以减少解析时间。
c、用exists代替 distinct 、in
d、用where 替换 having ——select语句的执行顺序:where—>group by—>select查询—>having—>order by。
注: 如果分组查询的过滤条件 涉及到 分组计算,就只能在having子句中指定。
e、尽量使用系统函数。
相关文章推荐
- 访问 Oracle 数据库的 JDBC 中的一些最常见的错误
- C#连接一些常见的数据库(sql,Access,Oracle,Sybase,DB2)
- oracle数据库开发的一些经验积累(二)
- oracle数据库开发的一些经验积累(一)
- 优化Oracle停机时间及数据库恢复
- Oracle管理与维护.安装创建启动关闭数据库的常见问题(一)
- 在用ORACLE数据库和JSP连接时要注意的一些问题精粹
- oracle数据库开发的一些经验积累(四)
- 关系数据库的查询优化策略----总结了一些查询优化的方法,希望可以对大家有所帮助
- oracle 数据库一些单行函数的简单用法
- oracle数据库开发的一些经验积累(二)
- oracle数据库开发的一些经验积累(二)
- oracle数据库开发的一些经验积累
- Oracle数据库开发的一些经验积累
- 优化Oracle停机时间及数据库恢复
- 管理Oracle数据库要注意的一些问题
- 优化数据库的三板斧 大幅提高Oracle性能
- Oracle数据库系统性能优化策略
- oracle数据库开发的一些经验积累
- oracle数据库开发的一些经验积累(三)