dbms_stats 在9i和10g里的不同行为
9i :ownname VARCHAR2,tabname VARCHAR2,partname VARCHAR2 DEFAULT NULL, --> ALL partitionsestimate_percent NUMBER DEFAULT NULL, --> 100% sam...
10g中function index无法避免排序
SQL> alter session set nls_language=american;Session altered.SQL> create table test_sort(name,object_name) as select 'select',object_name from 2 dba_objects;Table created.SQL> c...
sql tuning之变通
今天翻了下和朋友的聊天记录,看到以前优化过的一条sql,比较有意思,语句大概是这样的(表和字段被我修改过),select count(DISTINCT id), code FROM logWHERE rtime ...
cursor_sharing和substr函数索引
当cursor_sharing设置为similar的时候substr的函数索引将不会起作用,例如函数是substr(column,0,3),cursor_sharing为similar或者force的时候,这个条件会被解析成SUBSTR(column,:SYS_B_0,:SYS_B_1)=:SYS_B_2,这是函...
比较有意思的问题 --视图不走索引
SYSTEM@oracle10g>create table test_view as select * from dba_objects;表已创建。SYSTEM@oracle10g>ed已写入 file afiedt.buf 1 create view v_test_view as select substr(object_name,0,...
cursor_sharing and like
SQL> create table test_like as select * from dba_objects; 表已创建。 SQL> exec dbms_stats.gather_table_stats(user,'TEST_LIKE'); PL/SQL 过程已成功完成。 SQL> select /*+ aa1 */ * from test_li...
real-world performance学习笔记之 optimizer expose
1.Data skew cbo默认是按照平均的方式来评估card,当数据倾斜的时候,默认的评估方式存在问题,因此oracle引入了直方图来解决这个问题 2.bind peekingoracle 9i中引入bind peeking,对于等值查询,如果查询...
bind peeking and rac
执行计划如下:SQL_ID 1fjad7hzrw2r2, child number 1-------------------------------------SELECT DISTINCT ia_bill.cbillid, ia_bill.vbillcode, ia_bill.pk_corp FROM ia_bill, ia_bill_b WHERE ia_bill.c...
查看sql执行计划
1.dbms_xplan.display dbms_xplan由9i中引入,用来显示explan plan里的执行计划信息,explan plan的结果存储在plan_table表中,9i里plan_table是个物理表,而在10g plan_table是个全局临时表,如果从9i升级到10g里...