oracle 语句提高查询效率的方法
一、1:.. where column in(select * from ... where ...);
2:... where exists (select 'X' from ...where ...);
第二种格式要远比第一种格式的效率高。在Oracle中可以几乎将所有的IN操作符子查询改写为使用EXISTS的子查询
使用EXISTS,Oracle系统会首先检查主查询,然后运行子查询直到它找到第一个匹配项,这就节省了时间
Oracle系统在执行IN子查询时,首先执行子查询,并将获得的结果列表存放在在一个加了索引的临时表中
二、避免使用having字句
避免使用HAVING子句, HAVING 只会在检索出所有记录之后才对结果集进行过滤. 这个处理需要排序,总计等操作. 如果能通过WHERE子句限制记录的数目,那就能减少这方面的开销。
三、
WHERE子句中的连接顺序
ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾
四、SELECT子句中避免使用 ' * '
当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 '*' 是一个方便的方法。不幸的是,这是一个非常低效的方法。实际上,ORACLE在解析的过程中,会将'*' 依次转换成所有的列名,这个工作是通过查询数据字典完成的,这意味着将耗费更多的时间。
五、用TRUNCATE替代DELETE
当删除表中的记录时,在通常情况下,回滚段(rollback segments ) 用来存放可以被恢复的信息。如果你没有COMMIT事务,ORACLE会将数据恢复到删除之前的状态(准确地说是恢复到执行删除命令之前的状况)。
而当运用TRUNCATE时,回滚段不再存放任何可被恢复的信息。当命令运行后,数据不能被恢复。因此很少的资源被调用,执行时间也会很短。
六、尽量多使用COMMIT
只要有可能,在程序中尽量多使用COMMIT,这样程序的性能得到提高,需求也会因为COMMIT所释放的资源而减少
COMMIT所释放的资源:
A、 回滚段上用于恢复数据的信息。
B、被程序语句获得的锁。
C、 redo log buffer 中的空间。
D、ORACLE为管理上述3种资源中的内部花费。
七、统计记录行数
count(column)>count(1)>count(*)(从效率上对比) 网上有的说count(*)的效率要比count(1)要稍快,我个人认为count(1)的效率要快
八、当在SQL语句中连接多个表时,请使用表的别名并把别名前缀于每个Column上。这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误。
九、模糊查询的时候 用内部函数instr()代替%
十、表连接时,吧数据量大的表作为基表
分享到:
相关推荐
oracle语句优化总结,自己的一点经验之谈,没啥特别的,对于oracle数据库的sql语句进行优化有时候很有用。
内有两份文档:Oracle语句优化,数据库优化总结,SQL优化,常见优化案例分析技术及优化规则详解。(大公司内部资料)
ORACLE数据库SQL语句编写优化总结
ORACLE数据库SQL语句编写优化总结文档
常用的ORACLE SQL语句优化总结,提高效率,节省资源~
SQL语句优化总结,数据库常用优化策略。
实际项目中遇到的问题总结:数据量百万级,千万级。Oracle中update语句的优化,一共四种方案,工作中遇到该类问题可以参考。
oracle的SQL语句调优总结,Oracle语句优化53个规则详解。
ORACLE数据库,大数据量处理,要提高性能,需要注意些什么 oracle 语句优化全总结
sql语句优化PPT,总结基本常见的,自己总结的
经典SQL语句收集,在oracle中进行列行转换 ,五种提高SQL性能的方法,常用SQL查询,SQL优化原则等共计112册适合初学者学习。
ORACLE数据库SQL语句编写优化总结
利用ALTER INDEX语句中的REBUILD选项,可以使用已有索引而不是表来快速重建索引。在执行这个操作时必须要有足够的空间来保存所有的索引。
ORACLE数据库SQL语句编写优化总结.doc
ORACLE数据库SQL语句编写优化总结_new.pdf
讲述PL/SQL的优化 总结各位前辈的经验 很不错的 下来看看把 顶
ORACLE数据库SQL语句编写优化总结[借鉴].pdf
Oracle Database 10g性能调整与优化.pdf清晰版书籍,Oracle数据库内部培训资料,oracle专业优化文档,Oracle的SQL语句执行效率问题查找与解决方法文档,oracle性能优化总结文档,数据库设计方法文档,SQL语句全优化...
SQL语句优化规律总结(ORACLE). 有些日子了 回头看看,还真心爽爽,最近资源分不多了,就此涨价,免费变一分~!
优化笔记 sql性能的调整-总结 SQL代码性能优化 Oracle语句优化53个规则详解 ORACLE9i优化设计与系统调整 oracle9i优化器介绍 oracle9i的查询优化 ……