当前位置: 首页 > news >正文

咸阳做网站公司电话/百度怎么优化网站排名

咸阳做网站公司电话,百度怎么优化网站排名,网站构建,手机html网页制作在11g中,Oracle引入了一项新特征:adaptive cursor sharing 自适应游标共享。这项特征主要用来改进具有绑定变量的sql语句的执行在11g中,Oracle引入了一项新特征:adaptive cursor sharing 自适应游标共享。这项特征主要用来改进具有…

在11g中,Oracle引入了一项新特征:adaptive cursor sharing 自适应游标共享。这项特征主要用来改进具有绑定变量的sql语句的执行

在11g中,Oracle引入了一项新特征:adaptive cursor sharing 自适应游标共享。这项特征主要用来改进具有绑定变量的sql语句的执行计划,也导致了具有绑定变量的sql语句可能会生成多个游标。在9i中,Oracle引入了变量窥测(bind peeking)技术,通过使用变量窥测在SQL语句第一次硬解析时,优化器可以判定where子句的选择性,从而改进生成执行计划的质量。但是使用变量窥测技术生成的执行计划在表数据分布不均衡的情况下,往往不具有通用性。(参见:)

自适应游标共享功能的引入,可以有效的解决这个问题。

首先看一下我们的测试环境:

SQL> desc acs_test_tab

名称 是否为空? 类型

—————————————————– ——– ————————————

ID NOT NULL NUMBER

RECORD_TYPE NUMBER

DESCRIPTION VARCHAR2(50)

SQL> select count(*) from acs_test_tab;

COUNT(*)

———-

100000

SQL> select count(*) from acs_test_tab where record_type=2;

COUNT(*)

———-

50000

SQL> select count(distinct record_type) from acs_test_tab;

COUNT(DISTINCTRECORD_TYPE)

————————–

50001

表acs_test_Tab在列record_type上分布式是倾斜的。收集统计信息:

SQL> exec dbms_stats.gather_Table_Stats(user,’acs_test_Tab’,cascade=>true,method_opt=>’for all columns size auto’);

PL/SQL 过程已成功完成。

SQL> select column_name,histogram from user_tab_cols where table_name=’ACS_TEST_TAB’;

COLUMN_NAME HISTOGRAM

—————————— —————

ID NONE

RECORD_TYPE HEIGHT BALANCED

DESCRIPTION NONE

首先我们对record_type 为1 的列进行查询

SQL> select count(*) from acs_test_tab where record_type = 1;

COUNT(*)

———-

1

SQL> alter system flush shared_pool;

系统已更改。

SQL> var v number;

SQL> exec :v := 1

PL/SQL 过程已成功完成。

SQL> select sum(id) from acs_test_tab where record_type = :v;

SUM(ID)

———-

1

SQL> select * from table(dbms_xplan.display_cursor);

PLAN_TABLE_OUTPUT

—————————————————————————————————————————————————————-

SQL_ID 3p66zbwtm19bs, child number 0

————————————-

select sum(id) from acs_test_tab where record_type = :v

Plan hash value: 3987223107

———————————————————————————————————–

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

———————————————————————————————————–

| 0 | SELECT STATEMENT | | | | 4 (100)| |

| 1 | SORT AGGREGATE | | 1 | 9 | | |

| 2 | TABLE ACCESS BY INDEX ROWID| ACS_TEST_TAB | 1 | 9 | 4 (0)| 00:00:01 |

|* 3 | INDEX RANGE SCAN | ACS_TEST_TAB_RECORD_TYPE_I | 1 | | 3 (0)| 00:00:01 |

———————————————————————————————————–

Predicate Information (identified by operation id):

—————————————————

3 – access(“RECORD_TYPE”=:V)

已选择20行。

SQL> select child_number,executions,buffer_gets,is_bind_sensitive,is_bind_aware

2 from v$sql

3 where sql_text like ‘select sum(id)%’;

CHILD_NUMBER EXECUTIONS BUFFER_GETS I I

———— ———- ———– – –

0 1 218 Y N

下面我们在查询一下record_type为2的记录,

SQL> exec :v := 2

PL/SQL 过程已成功完成。

SQL> select sum(id) from acs_test_tab where record_type = :v;

SUM(ID)

———-

2500050000

SQL> select * from table(dbms_xplan.display_cursor);

PLAN_TABLE_OUTPUT

—————————————————————————————————————————————————————-

SQL_ID 3p66zbwtm19bs, child number 0

————————————-

select sum(id) from acs_test_tab where record_type = :v

Plan hash value: 3987223107

———————————————————————————————————–

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

———————————————————————————————————–

| 0 | SELECT STATEMENT | | | | 4 (100)| |

| 1 | SORT AGGREGATE | | 1 | 9 | | |

| 2 | TABLE ACCESS BY INDEX ROWID| ACS_TEST_TAB | 1 | 9 | 4 (0)| 00:00:01 |

|* 3 | INDEX RANGE SCAN | ACS_TEST_TAB_RECORD_TYPE_I | 1 | | 3 (0)| 00:00:01 |

———————————————————————————————————–

Predicate Information (identified by operation id):

—————————————————

3 – access(“RECORD_TYPE”=:V)

已选择20行。

SQL> select child_number,executions,buffer_gets,is_bind_sensitive,is_bind_aware

2 from v$sql

3 where sql_text like ‘select sum(id)%’;

CHILD_NUMBER EXECUTIONS BUFFER_GETS I I

———— ———- ———– – –

0 2 832 Y N

我们发现执行计划没有变化,但是统计信息却发生了比较大的跳跃。

再次执行上面的语句

SQL> select sum(id) from acs_test_tab where record_type = :v;

SUM(ID)

———-

2500050000

SQL> select * from table(dbms_xplan.display_cursor);

http://www.jmfq.cn/news/5024863.html

相关文章:

  • dw网站制作的源代码/佛山网站快速排名提升
  • 柳州市住房和城乡建设局网站/百度搜索风云榜手机版
  • wordpress安装显示空白页/网站seo具体怎么做
  • redis网站开发教程/杭州推广公司
  • 沂水做网站/推广赚钱软件
  • java 制作网站开发/网络推广免费网站
  • 网站建设的500字小结/百度知道灰色词代发收录
  • 网站正能量视频不懂我意思吧/每日重大军事新闻
  • 网站怎么办/全自动引流推广软件下载
  • 网站禁止右键复制代码/网上宣传方法有哪些
  • 网站建设的原则/重庆百度seo代理
  • 住宅和城乡建设部网站/百度指数有三个功能模块
  • 中山古镇做网站/百度推广营销中心
  • 做同城网站有哪些/seo关键词排名教程
  • 企业网站开发北京/关键词整站优化
  • 网站备案信息可以更改吗/seo网站排名助手
  • 网站设计多少钱市场价/营销策划公司介绍
  • 门网站制作/专业网站seo推广
  • 用wordpress建站之后如何优化/成都seo培训班
  • 做网站彩票代理犯法吗/搭建一个网站的流程
  • wordpress评论回复通知/seo关键词排名注册价格
  • 江西做网站的公司/独立站优化
  • 做故障风的头像的网站/市场营销方案范文
  • 网站显示百度众测是怎么做的/想做电商怎么入手
  • 学校网站建设源代码/网站百度关键词优化
  • wordpress 自定义评论/惠州百度关键词优化
  • 邢台手机网站建设多少钱/网站维护费一年多少钱
  • 郑州网站免费制作/百度竞价是什么
  • 杭州网站如何制作/打开app下载
  • 不成立公司怎么做企业网站/网页设计网站