- 博客(19)
- 资源 (10)
- 收藏
- 关注
转载 隐含参数_optimizer_skip_scan_enabled的作用
当该参数被设置为false时,优化器将不会考虑索引跳跃扫描,如下测试:SQL> alter session set "_optimizer_skip_scan_enabled"=false;Session altered.SQL> set autot traceonly explainSQL> select 2 /*+ index(t1) *
2013-01-29 11:36:09 1252
原创 (2)简单B树访问——计算执行计划的成本
通过索引来访问表的成本公式应该包含3个与块相关的组件:按降序遍历的分支层数、遍历 叶块的数目和访问过的表块的数目。1、入门SQL> create table t1 2 nologging 3 as 4 select 5 trunc(dbms_random.value(0,25))n1, --n1会产生25个不同的值。 6 rpad('x',40)ind_
2013-01-28 17:47:09 871
原创 找出共享池中sql的绑定变量值!
之前有一个朋友给我说,他在数据库中找出来的sql就是有绑定变量的,没有具体的参数值。这里记录一下:首先用session 1来跟新一行,不提交:SQL> update test set name='李四' where id=2 and name='张三';已更新 1 行。下面用session 2来更新同一行,这样就会阻塞:SQL> select sid from v$myst
2013-01-28 11:07:31 718
原创 (1)oracle单表选择率(selectivity)——计算执行计划的基数
CBO优化器是基于对当前经过特定测试的数据集中预期的行比率估计来计算基数的。此处的行数之比是一个数值,称为选择率(selectivity)。得到选择率之后,将其与输入行数进行简单相乘既可得到基数。在理解选择性之前,必须得对user_tab_col_statistics视图有一定了解:SQL> desc user_tab_col_statistics 名称
2013-01-25 15:35:52 4634
转载 10g新增初始化参数SKIP_UNUSABLE_INDEXES
这个10.1就增加的新特性,是最近才发现的。 SQL> create table t_index (id number, name varchar2(30));Table created.SQL> create index ind_t_id on t_index(id);Index created.SQL> create index ind_t_name on t_inde
2013-01-22 11:59:13 617
转载 optimizer_mode 参数
Oracle使用Optimizer_mode参数来控制优化器的偏好,9i常用的几个参数有:first_rows,all_rows,first_rows_N,rule,choose等。而10g少了rule和chooseoptimizer_mode =choose这个是Oracle的默认值。采用这个值时,Oracle即可以采用基于规则RBO,也可以采用基于代价的CBO,到底使用那个
2013-01-16 15:19:55 1025
转载 Oracle10g新特性——记录DML错误日志(三)
当一个DML运行的时候,如果遇到了错误,则这条语句会整个回滚,就好像没有执行过。不过对于一个大的DML而言,如果个别数据错误而导致整个语句的回滚,会浪费很多的资源和运行时间,从10g开始Oracle支持记录DML语句的错误,而允许语句自动继续执行。这篇介绍DML记录语句不支持的数据类型。Oracle10g新特性——记录DML错误日志(一):http://yangtingkun.itpub.
2013-01-10 09:34:21 679
转载 Oracle10g新特性——记录DML错误日志(二)
当一个DML运行的时候,如果遇到了错误,则这条语句会整个回滚,就好像没有执行过。不过对于一个大的DML而言,如果个别数据错误而导致整个语句的回滚,会浪费很多的资源和运行时间,从10g开始Oracle支持记录DML语句的错误,而允许语句自动继续执行。这篇介绍DML记录语句的限制。Oracle10g新特性——记录DML错误日志(一):http://yangtingkun.itpub.net/p
2013-01-10 09:33:41 893 1
转载 Oracle10g新特性——记录DML错误日志(一)
当一个DML运行的时候,如果遇到了错误,则这条语句会整个回滚,就好像没有执行过。不过对于一个大的DML而言,如果个别数据错误而导致整个语句的回滚,会浪费很多的资源和运行时间,从10g开始Oracle支持记录DML语句的错误,而允许语句自动继续执行。这篇介绍DML记录语句的用法。看一个插入语句的简单例子:SQL> CREATE TABLE T (ID NUMBER, NAME
2013-01-10 09:33:11 1090
原创 直接路劲加载限制!
使用直接路劲加载有以下几个问题:1、在任何给你的时点一张表上只能有一个直接路径写入。2、数据将被插入到高水位线之上,因此任何高水位线之下的可用空间都不能在直接路径插入中使用。3、在开始以后进行插入的会话不能对表做任何事情(甚至是对其进行select),直接进行提交或回滚。4、不支持一些不太常用的数据结构(对象类型、索引组织表等)。5、不支持引用约束(也就是说它们将导致通过传统方
2013-01-09 10:21:35 1135
转载 Oracle中like查询下划线等特殊字符的处理
You can include the actual characters "%" or "_" in the pattern by using theESCAPE clause, which identifies the escape character. If the escape character appears in the pattern before the character "%
2013-01-08 14:15:02 1415
转载 Oracle 11g 新特性 -- 虚拟索引!
在数据库优化中,索引的重要性不言而喻。但是,在性能调整过程中,一个索引是否能被查询用到,在索引创建之前是无法确定的,而创建索引是一个代价比较高的操作,尤其是数据量较大的时候。虚拟索引(Virtual Index)不是物理存在的,它并不会创建实际的索引段,只是在数据字典中加了一个索引的记录,使得优化器能够意识到一个索引的存在,从而判断是否使用该索引作为访问路径。当然,实际上最终查询的访问路径是不
2013-01-08 11:23:53 939
转载 Oracle 11g 新特性 -- Invisible Indexes(不可见的索引) 说明
转载自:http://blog.csdn.net/tianlesoftware/article/details/8223775一.Invisible Indexes 说明从版本11g 开始,可以创建不可见的索引。优化程序会忽略不可见的索引,除非在会话或系统级别上将 OPTIMIZER_USE_INVISIBLE_INDEXES 初始化参数显式设置为TRUE。此参数的默认值是FALSE。
2013-01-06 17:03:14 1213
原创 索引组织表(index organized table, IOT)
1、索引组织表索引组织表(index organized table, IOT)就是存储在一个索引结构中的表。存储在堆中的表是无组织的(也就是说,只要有可用的空间,数据可以放在任何地方),IOT中的数据则按主键存储和排序。对你的应用来说,IOT表和一个“常规”表并无二致。IOT有什么意义呢?使用堆组织表时,我们必须为表和表主键上的索引分别留出空间。而IOT不存在主键的空间开销,因为索引
2013-01-06 15:18:55 1651
原创 回收oracle Lob对象空间利用
SQL> create table t(time date,text clob) 2 /表已创建。SQL> begin 2 for i in 1 .. 10000 loop 3 insert into t values(sysdate,rpad('a', 4000, 'a')); 4 commit; 5 end loo
2013-01-05 17:27:44 5240
原创 oracle外联结无法改变驱动表!
SQL> select /*+ leading(e) */ e.*,d.* from emp e,dept d where e.deptno=d.deptno;执行计划----------------------------------------------------------Plan hash value: 1123238657-------------------
2013-01-05 15:04:55 746
原创 Oracle DataPump”EXCLUDE“参数和限制为4000字节
原文地址:http://www.gokhanatil.com/2011/06/oracle-datapump-include-parameter-and-limit-of-4000-chars.html现在我的需求是要导出u1用户下面所有的对象,除了:WEB_APP开头、WEB_PLY开头、WEB_CLM开头、WEB_FIN开头的那些表!这些表全部加起来又有300多张,用EXCLUDE=T
2013-01-05 12:48:06 1662
原创 EXP-00091解决方法
在EXP导出时,出现EXP-00091报错:. . exporting table FRIEND..............142480 rows exportedEXP-00091: Exporting questionable statistics.查看EXP-00091的oracle error message 解决方案说明:[oracle@MWSG1:
2013-01-04 09:47:04 870
原创 Oracle跨版本导出EXP-00003错误的解决
当Oracle数据库中,使用不同版本的exp工具进行数据库导出时,有时候会遇到类似如下错误:EXP-00003: no storage definition found for segment(11, 307)EXP-00003: no storage definition found for segment(11, 523)EXP-00003: no storage definiti
2013-01-04 09:42:24 1879
oracle高级sql学习
2011-02-13
推荐个hadoop方面的考试认证机构
2022-10-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人