Sql Tuning
文章平均质量分 78
bitko
这个作者很懒,什么都没留下…
展开
-
dbms_stats和analyze汇总
dbms_statsDBMS_STATS.GATHER_TABLE_STATS的语法如下: DBMS_STATS.GATHER_TABLE_STATS (ownname VARCHAR2, tabname VARCHAR2, partname VARCHAR2, estimate_percent NUMBER, block_sample BOOLEAN, method_opt VA转载 2016-04-04 20:49:16 · 867 阅读 · 0 评论 -
标量子查询改写
SELECT A.CONS_NO, A.CONS_NAME, (SELECTSUM(T.PURCH_PQ) FROMGAS_CA.A_CARD_METER_PAY T WHERE CONS_NO = A.CONS_NO AND T.PURCH_GAS_TIME > TO_DATE('201原创 2016-03-27 01:27:19 · 459 阅读 · 0 评论 -
oracle绑定变量使用方法总结
在Oracle中,对于一个提交的sql语句,存在两种可选的解析过程,硬解析和软解析。一个硬解析需要经解析,制定执行路径,优化访问计划等步骤。硬解析不仅仅会耗费大量的cpu,更重要的是会占据重要的闩(latch)资源。唯一使得oracle能够重复利用执行计划的方法就是采用绑定变量。绑定变量的实质就是使用变量来代替sql语句中的常量。绑定变量能够使得每次提交的sql语句都完全一样。1.原创 2016-11-11 17:36:17 · 25170 阅读 · 3 评论 -
关于count(*),count(1),count(column)
创建一张测试表,不创建任何索引SQL> create table t as select * from dba_objects;Table created.SQL> update t set object_id=rownum;87012 rows updated.SQL> commit;Commit complete.SQL> set timing onSQL>原创 2016-12-18 16:48:11 · 724 阅读 · 0 评论 -
获取执行计划的六种方法
1. explain planfor获取(类似plsql中的f5)Step1; explain plan for “sql”Step2: select * from table(dbms_xplan.display)SQL> set linesize 200SQL> set pagesize 20000SQL> explain plan for select count(*) fr原创 2017-03-05 16:59:28 · 6085 阅读 · 0 评论 -
Sql profiles-->使用sql tuning生成sql profile
一. sqlprofile理解sql profile可以为某一sql语句提供除了系统统计信息、对象(表和索引等)统计信息之外的其他信息,比如运行环境、额外的更准确的统计信息,以帮助优化器选择更适合的执行计划。使用sql profile的目的:a. 锁定或者说是稳定执行计划b. 在不能修改应用中的sql的情况下使sql语句按照执行的执行计划运行。相较于outline,sql pr原创 2017-03-23 19:55:04 · 430 阅读 · 0 评论 -
Sql profiles-->手工创建sql profile
一. 手工创建sql profile的方法因为sql tuning的sql profile不能锁定执行计划,只是提供更准确的信息以生成更准确的执行计划,当统计信息改变时,sql的执行计划也会变化。所以就需要手工创建sql profile的方法来锁定指定计划。目的:a. 锁定或者说是稳定sql执行计划b. 再不能修改应用的sql的情况下,来改变或者说是强制使sql使用我们指定的s原创 2017-03-24 19:52:47 · 3283 阅读 · 0 评论