Index
文章平均质量分 70
EVISWANG
这个作者很懒,什么都没留下…
展开
-
索引 概述
--创建使用索引 --索引是一个独立的schema对象,是单独存储的 --索引用来提高查询操作的性能 --索引可以自动或手工创建: --自动创建只存在于:表的列设置了primary key或者unique约束 如果你定义了这两个约束,索引就自动创建出来了 --索引由oracle自动使用和维护 createtable cemp as select* from emp原创 2015-11-21 16:33:57 · 438 阅读 · 0 评论 -
create index online 异常处理 ORA-08104
开发online加了条索引,等了半小时没结果手动CRTL+C了,没起作用直接把窗口关了 SQL> drop index clspuser.SPLIT_RSLT_HB_STATUS_IDX ; drop index clspuser.SPLIT_RSLT_HB_STATUS_IDX * ERROR at line 1: ORA-00054: resou原创 2016-11-29 14:04:07 · 1136 阅读 · 0 评论 -
联合索引 一例
查看表所有着 select OWNER from dba_objects where object_name='TBL_TVI1'; 查表大小 select sum(bytes)/1024/1024 from dba_segments t where t.segment_name='TBL_TVI1'; 执行计划 explain plan for SELECT SK原创 2015-11-19 16:18:12 · 582 阅读 · 0 评论 -
ORA-20000: index "FCSASUSER"."IDX_DN_TREE_ID" or partition of such index is in unusable state
alert日志发现如下报错: Sat Jul 30 06:00:12 CST 2016 Errors in file /u01/app/oracle/admin/crfdw/bdump/crfdw_j001_17225.trc: ORA-20000: index "FCSASUSER"."IDX_DN_TREE_ID" or partition of such index is in un原创 2016-08-02 16:50:38 · 1572 阅读 · 0 评论 -
二元高度
1. 索引查找的过程 1.> 根据树进行定位,找出ROWID (索引查找) 2.> 根据ROWID找出表中的数据行(表数据查找) 2.概述 索引的二元高度对把ROWID返回给用户进程时所要求的的I/O数量起到关键作用。二元高度每个级别都会增加一个额外的块读取操作,而且由于这些块不能按顺序读取,他们都要求一个独立的I/O操作,而且由于这些块不能按顺序读取,他们都要求一个独立原创 2016-02-19 11:32:21 · 648 阅读 · 0 评论 -
集群因子
1. 优化器决定是否用索引的关键因素 1.> 选择性参考:http://blog.csdn.net/eviswang/article/details/50674063 2.> 集群因子 2. 概念 集群因子(ClusteringFactor)是如果通过一个索引扫描一张表,需要访问的表的数据块的数量。 3. 集群因子的计算方法 (1) 扫描一个索引; (2) 比较某行的R原创 2016-02-19 09:42:31 · 1169 阅读 · 0 评论 -
索引的选择性
SQL> select table_owner, table_name, index_name,distinct_keys, num_rows from user_indexes where table_name='EMP'; TABLE_OWNER TABLE_NAME INDEX_NAME原创 2016-02-16 12:38:20 · 600 阅读 · 0 评论 -
索引抑制
索引抑制是一些没有经验的开发人员经常犯的错误之一。在oracle中有很多陷阱会使一些线索无法使用。 oracle优化器在后台工作,选择并使用可能最有效的方法来返回数据。例如,在许多情况下不需要指定where 子句oracle就可以使用索引。具体来说,如果查询索引列的min和max值,oracle从索引中就可以得到结果,而不 需要去访问表;类似的,如果对索引列执行count函数,o原创 2016-02-16 11:23:31 · 770 阅读 · 0 评论 -
组合索引
定义:当某个索引包含多个列时,我们称这个索引为“组合索引”或“复合索引”。 oracle 9i引入索引跳跃式扫描增加了优化器在使用组合索引时的选择,所以您在选择索引的列的顺序时应该谨慎。 索引跳跃式扫描 (index skip scan) 索引跳跃式扫描适合于组合索引,比如(deptno,sal),当根据组合索引的第一个列deptno做查询时, 通常是可以用的到索引的,当你想使用第二个列sa原创 2016-02-16 09:34:05 · 474 阅读 · 0 评论 -
visible invisible索引
SQL> show user USER is "SCOTT" SQL> create index emp_id1 on emp(empno, ename, deptno); SQL> create index emp_id2 on emp (sal); 查看创建索引信息: SQL> select table_name, index_name from user_indexes wher原创 2016-02-15 17:13:01 · 458 阅读 · 0 评论 -
位图索引 Bitmap index
1) 原理 一个键值对应很多行(rowid), 格式:键值start_rowid end_rowid 位图 2) 适用场合 列的基数很少,可枚举,重复值很多,数据不会被经常更新 3) 优点 OLAP 例如报表类数据库重复率高的数据特定类型的查询例如count、or、and 等逻辑操 作因为只需要进行位运算即可得到我们需要的结果 4) 缺点 不适合重复率低的字段,还有经常DML 操作原创 2015-12-20 11:01:15 · 1070 阅读 · 0 评论 -
数值转换导致不走索引
一. 问题描述: 表的数据量1300万+ 搜索列为50-80w 每次都全表扫描,性能很差 SQL> set autotrace on SQL> select count(*) from clspuser.crf_p2p_interest_split_rslt t where t.hb_status=1; COUNT(*) ---------- 782889 Executi原创 2016-11-29 11:28:01 · 472 阅读 · 0 评论