Oracle数据库性能由SQL语句执行效率决定

数据库 Oracle
Oracle数据库性能是每个DBA重点考虑的问题,Oracle数据库性能由SQL语句执行效率决定,所以SQL语句的优化就成为了我们要重点思考的问题。

Oracle数据库性能由什么决定呢?Oracle数据库性能最终由SQL语句执行效率决定,可见Oracle数据库性能的提升和SQL语句的优化事分不开的。

应用程序的执行最终将归结为数据库中的SQL语句执行,SQL语句消耗了70%到90%的数据库资源。因此SQL语句的执行效率最终决定了ORACLE数据库的性能。许多程序员认为查询优化是DBMS(数据库管理系统)的任务,与程序员所编写的SQL语句关系不大,这是错误的。一个好的查询计划往往可以使程序性能提高数十倍。另外,SQL语句独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低。

SQL优化的主要途径是:

a.有效索引的建立。在经常进行连接,但是没有指定为外键的列上建立索引;在频繁进行排序或分组(即进行group by 或 order by 操作)的列上建立索引;在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引;如果待排序的列有多个,可以在这些列上建立复合索引(compound index)。

为了降低I/O竟争, 索引要建在与用户表空间不在同一磁盘上的索引空间里。索引分为:分区索引、完全索引、***索引、位图索引等几种类型,在建立索引前,应该测量这个索引的选择性,索引的选择性是指索引列里不同值的数目与表中记录数的比。

b.在有大量重复值并且经常有范围查询(例如 between,>,<>=,<=)的列,或是用到order by、group by的列,可考虑建立群集索引 ;

c.要经常同时存取多列,目每列都含有重复值可考虑建立组合索引

d.优化表达式,在能使用范围查询时尽可能使用范围索引, 而少用“like”,因为“LIKE”关键字支持的通配符匹配特别耗费时间。

f.使用Oracle语句优化器(oracle optimizer)和行锁管理器(row-level manager)来调整优化SQL语句。

 

 

 

【编辑推荐】

Oracle修改用户语法介绍

Oracle身份验证的三种方法

Oracle默认用户的密码问题

Oracle游标常用属性

带您了解Oracle显式游标

 

责任编辑:段燃 来源: 互联网
相关推荐

2009-03-09 17:46:16

ASP.NETSQLOracle

2010-04-16 09:41:42

Oracle数据库查看

2010-05-07 18:21:42

Oracle提高SQL

2012-11-21 17:35:21

Oracle技术嘉年华

2018-03-30 13:59:22

数据库SQL语句性能优化

2018-03-30 14:30:10

数据库SQL语句性能优化

2010-09-07 15:20:58

SQL语句事务

2010-06-17 12:59:07

Oracle

2011-03-18 13:23:47

SQL ServerOracle

2011-06-27 14:31:29

Qt 数据库 SQL语句

2011-06-27 14:17:35

Qt 数据库 QSqlQuery

2010-10-27 14:15:44

Oracle数据库效率

2011-06-27 14:44:30

Qt 数据库 QSqlQuery

2010-04-13 14:36:17

Oracle性能检测

2011-05-20 10:30:20

ORACLE数据库性能优化

2011-05-18 09:39:19

Oracle数据库性能优化

2011-08-09 17:48:54

Oracle参数文件

2011-01-06 09:28:19

SQL语句

2010-09-07 16:12:36

SQL语句数据库压缩

2010-05-10 15:50:39

Oracle数据库性能
点赞
收藏

51CTO技术栈公众号