知识大全 教你轻松掌握Oracle9i里指针共享的增强
Posted 指针
篇首语:登山则情满于山,观海则意溢于海。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 教你轻松掌握Oracle9i里指针共享的增强相关的知识,希望对你有一定的参考价值。
教你轻松掌握Oracle9i里指针共享的增强 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在Oracle i里 有一个内部新特性 它允许SQL基于代价的优化器(cost based optimizer CBO)改变执行计划 即使正在使用优化器计划的稳定性 叫做 窥视(peeking) 当绑定变量导致SQL的执行计划发生重大改变的时候 它允许SQL的CBO更该执行计划
但是 指针共享在优化的时候有一个处理延迟 只有当应用程序生成动态SQL的时候 或者它在必须嵌入文字值的应用程序里的时候 它才应该被使用 由于绑定变量的缘故 PL/SQL应用程序不会从指针共享里获益
为了说明这一问题 你可以考虑以下这样一个例子 我们的CURSOR_SHARING参数被设置为FORCE 这会把所有的SQL文字值都改为库缓冲区里的主变量(host variable)
现在 让我们假设我们有了一个对客户(customer)表格的区域(region)列的索引 区域列有四个值 东(east) 南(south) 西(west) 北(north) 区域列的数据值高度不对称 %的值都在南部地区
所以在指定南部的时候 让SQL的CBO来执行完整的表格扫描 而在指定东 西 北的时候 使用索引范围扫描 这样速度会更快 在使用指针共享的时候 SQL的CBO会把SQL里的任何文字值都改为绑定变量 所以这个陈述式可以改成下面这样
select customer_stuff from customer where region = west ; 这个转换会把文字west替换成主变量 select customer_stuff from customer where region = :var ;
在Oracle i里 SQL的CBO会在第一次调用指针的时候 窥视 由用户定义的绑定变量的值 这就能够让优化器确定WHERE子句操作符的选择性 并在south值每次出现在SQL的时候更改执行计划
当绑定变量用于高度不对称的数据列时 这就极大地提高了指针共享的性能 在Oracle i里 我们看到了一个用于CURSOR_SHARING的新设置 叫做SIMILAR
cha138/Article/program/Oracle/201311/17567相关参考
·主数据文件 SQLServer数据库管理系统中主数据文件用于存储指向其他数据库文件的指针和启动信息SQLServer的每个数据库只有一个主数据文件扩展名为mdb ·辅数据文件 SQLSer
教你轻松掌握Oracle数据库的后备和恢复 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 当我们
一数据库链路的建立 数据库链路的建立语法一般是CREATEDATABASELINK[db_link_name]CONNECTTO [user_name]IDENTIFIEDBY[passwor
查看所有的数据库链接进入系统管理员SQL>操作符下运行命令 SQL>selectownerobject_namefromdba_objectswhereobject_type=DAT
数据库系统的一些专用词汇表: ·数据(Data) 反映客观世界的事实并可以区分其特征的符号字符数字文本声音图形图像图表图片等它们是现实世界中客观存在的可以输入到计算机中进行存储和管理的 ·信
教你怎么样卸载Oracle9i 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在win企业版操作
英文面试在测试求职者的英文水平的同时,还要求求职者如同中文面试一样表现得收放自如。怎样的英文面试才能在面试官那得到高分呢?1.自我介绍有的放矢“Tellmesomethingaboutyourself
在Oracle9i里基于函数的仅索引扫描 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Orac
教你快速掌握如何使用Opatch打补丁 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在实际的工
教你快速掌握一个简单的Oracle定时任务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一在PLS