oracle优化sql详解
2011-10-22 21:28
176 查看
我们在写查询方法的时候,一定要优化下sql语句,不然会很麻烦。。记得我上次写过一个查询语句,然后查询的速度很慢,然后就交给项目经理了,之后给测试测的时候,硬是等了10多分钟才出来,然后找同事分析了下,是因为索引排列的不对,没有用到索引。。汗死,然后同事帮我调了好久,终于查询速度快了很多。 还有我们尽量使用Union all ,几条sql的合并,下面是我从网上找到的一些优化的sql,分享给大家。
No1:选择合适的优化器 No2:共享SQL 为了不重复解析相同的SQL语句,在第一次解析之后, ORACLE将SQL语句存放在内存中.这块位于系统全局区域SGA(system global area)的共享池(shared buffer pool)中的内存可以被所有的数据库用户共享. 因此,当你执行一个SQL语句(有时被称为一个游标)时,如果它
和之前的执行过的语句完全相同, ORACLE就能很快获得已经被解析的语句以及最好的
执行路径. ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用.
可惜的是ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询.
数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性也就越大了.
当你向ORACLE 提交一个SQL语句,ORACLE会首先在这块内存中查找相同的语句.
这里需要注明的是,ORACLE对两者采取的是一种严格匹配,要达成共享,SQL语句必须
完全相同(包括空格,换行等).
转自:http://www.csdnjava.com/forum.php?mod=viewthread&tid=679
No1:选择合适的优化器 No2:共享SQL 为了不重复解析相同的SQL语句,在第一次解析之后, ORACLE将SQL语句存放在内存中.这块位于系统全局区域SGA(system global area)的共享池(shared buffer pool)中的内存可以被所有的数据库用户共享. 因此,当你执行一个SQL语句(有时被称为一个游标)时,如果它
和之前的执行过的语句完全相同, ORACLE就能很快获得已经被解析的语句以及最好的
执行路径. ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用.
可惜的是ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询.
数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性也就越大了.
当你向ORACLE 提交一个SQL语句,ORACLE会首先在这块内存中查找相同的语句.
这里需要注明的是,ORACLE对两者采取的是一种严格匹配,要达成共享,SQL语句必须
完全相同(包括空格,换行等).
转自:http://www.csdnjava.com/forum.php?mod=viewthread&tid=679
相关文章推荐
- 图书推荐:《Oracle 高性能SQL引擎剖析:SQL 优化与调优机制详解》
- 图书推荐:《Oracle 高性能SQL引擎剖析:SQL 优化与调优机制详解》
- 图书推荐——《Oracle 高性能SQL 引擎剖析:SQL 优化与调优机制详解》
- Oracle sql语句优化53个规则详解(一)(www.jiedichina.com)
- Oracle sql语句优化53个规则详解(二)(www.jiedichina.com)
- Oracle 高性能SQL引擎剖析:SQL优化与调优机制详解
- Oracle sql语句优化53个规则详解(三)(www.jiedichina.com)
- Oracle SQL优化规则详解
- Oracle SQL优化规则详解
- Oracle SQL优化规则详解
- Oracle SQL优化规则详解
- Oracle 高性能SQL引擎剖析:SQL优化与调优机制详解
- 《Oracle 高性能SQL引擎剖析:SQL优化与调优机制详解》随书脚本
- oracle优化4(sql语句性能诊断,sql执行计划)
- Oracle SQL优化总结
- ORACLE+SQL性能优化
- 九大Oracle性能优化基本方法详解
- 【Oracle】SQL优化的重要工具--AUTOTRACE
- Oracle性能优化 之 游标及SQL
- 23-Oracle入门之空值和SQL语句优化