Oracle create index on (colname,0)的意义

今天看到一个索引,create index index_name tableanme(colname,0),很奇怪,以前没见过。经过测试发现就是一个相对于联合索引的东西,没有任何意义,就是建错了。

SQL> select * from v$version;

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

PL/SQL Release 11.2.0.1.0 - Production

CORE    11.2.0.1.0      Production

TNS for Linux: Version 11.2.0.1.0 - Production

NLSRTL Version 11.2.0.1.0 - Production

drop table test;

create table test as select * from dba_objects;

SQL> select count(1) from test t where t.object_id =20;

COUNT(1)

----------

1

SQL> select object_id from dba_objects s where s.object_name=‘IND_T_OBJECT_ID‘;

OBJECT_ID

----------

107156

SQL> alter session set events  ‘immediate trace name treedump level 107156‘;

在Oracle的trace目录下找到trace文件

----- begin tree dump

branch: 0x20fddc3 34594243 (0: nrow: 104, level: 1)

leaf: 0x20fddc4 34594244 (-1: nrow: 814 rrow: 814)

leaf: 0x20fddc5 34594245 (0: nrow: 808 rrow: 808)

leaf: 0x20fddc6 34594246 (1: nrow: 808 rrow: 808)

leaf: 0x20fddc7 34594247 (2: nrow: 808 rrow: 808)

leaf: 0x248381c 38287388 (3: nrow: 808 rrow: 808)

leaf: 0x248381d 38287389 (4: nrow: 808 rrow: 808)

leaf: 0x248381e 38287390 (5: nrow: 808 rrow: 808)

leaf: 0x248381f 38287391 (6: nrow: 808 rrow: 808)

..................................................

..................................................

leaf: 0x2483832 38287410 (42: nrow: 766 rrow: 766)

leaf: 0x2483833 38287411 (43: nrow: 766 rrow: 766)

leaf: 0x20fdddd 34594269 (45: nrow: 766 rrow: 766)

..................................................

..................................................

SQL> select dbms_utility.data_block_address_file(34594269) "file",

dbms_utility.data_block_address_block(34594269) "block"

from dual;

file      block

---------- ----------

8    1039837

SQL> alter system dump datafile 8 block 1039837;

在Oracle的trace目录下找到trace文件,c1 15就是20,如何转换请看http://blog.csdn.net/stevendbaguo/article/details/8010105 。 col0是object_id,col1是20,col2是rowid。

row#0[16207] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3e 62

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 4a

row#1[16190] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3e 63

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 4b

row#2[16173] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3e 64

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 4c

row#3[16157] flag: ------, lock: 0, len=16

col 0; len 3; (3):  c3 04 3f

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 4d

row#4[16140] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 02

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 4e

row#5[16123] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 03

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 4f

row#6[16106] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 04

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 50

row#7[16089] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 05

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 51

row#8[16072] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 06

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 52

row#9[16055] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 07

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 53

row#10[16038] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 08

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 54

row#11[16021] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 09

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 55

row#12[16004] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 0a

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 56

row#13[15987] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 0b

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 57

row#14[15970] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 0c

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 58

row#15[15953] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 0d

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 59

row#16[15936] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 0e

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 5a

row#17[15919] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 0f

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 5b

row#18[15902] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 10

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 5c

row#19[15885] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 11

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 5d

row#20[15868] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 12

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 5e

row#21[15851] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 13

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 5f

row#22[15834] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 14

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 60

row#23[15817] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 15

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 61

row#24[15800] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 16

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 62

row#25[15783] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 17

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 63

row#26[15766] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 18

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 64

row#27[15749] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 19

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 65

row#28[15732] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 1a

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 66

row#29[15715] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 1b

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 67

row#30[15698] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 1c

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 68

row#31[15681] flag: ------, lock: 0, len=17

col 0; len 4; (4):  c3 04 3f 1d

col 1; len 2; (2):  c1 15

col 2; len 6; (6):  01 58 2e c1 00 69

时间: 2024-11-08 21:31:04

Oracle create index on (colname,0)的意义的相关文章

Oracle create index online

1.1     create index 如果目标表有DML操作,并且没有提交,此时创建索引报错 ORA-00054: resource busy and acquire with NOWAIT specifiedor timeout expired: 如果目标表上正在建立索引(create index),此时DML操作会被阻塞: 总结:直接create index必须确定目标表没有DML操作,或者停业务情况下建立索引. 1.2     create index online 如果目标表有DML

ORACLE之常用FAQ V1.0

[B]第一部分.SQL&PL/SQL[/B][Q]怎么样查询特殊字符,如通配符%与_[A]select * from table where name like 'A\_%' escape '\' [Q]如何插入单引号到数据库表中[A]可以用ASCII码处理,其它特殊字符如&也一样,如 insert into t values('i'||chr(39)||'m');  -- chr(39)代表字符'或者用两个单引号表示一个or insert into t values('I''m');  

Oracle alter index rebuild 与 ORA-08104 说明

一. 官网说明 在MOS 上的一篇文章讲到了rebuild online 和offline的区别: Index Rebuild Is Hanging Or Taking Too Long [ID 272762.1] Symptoms:=========       Performance  issues while rebuilding very large indexes. The offline rebuilds of  their index is relatively quick -fi

oracle linux6操作系统oracle11.2.0.4数据库从一台主机A(ora11g)到另一台主机B(ora02)的迁移过程

oracle linux6操作系统oracle11.2.0.4数据库从一台主机A(ora11g)到另一台主机B(ora02)的迁移过程 A生成pfile文件并关闭数据库 [[email protected] ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.4.0 Production on Fri Jan 1 17:25:12 2016 Copyright (c) 1982, 2013, Oracle.  All rights reserved. SQL>

sql 高级 (五)(create index(创建索引) drop)

SQL create index 语句 create  index语句用于在表中创建索引. 在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据. 用户无法看到索引,它们只能被用来加速搜索/查询. 更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新. 理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引. 允许使用重复的值: create index  index_name ON table_name (column_name) SQL create

Oracle alter index disable/unusable的区别

alter index index_name disable,enable针对函数索引. SQL> create table test as select * from all_objects; SQL> create index ind_t_object_id on test(object_id) nologging; SQL> exec dbms_stats.gather_table_stats(user,'test',cascade => true); SQL> set

Oracle(创建index)

概念: 1. 类似书的目录结构 2. Oracle 的“索引”对象,与表关联的可选对象,提高SQL查询语句的速度 3. 索引直接指向包含所查询值的行的位置,减少磁盘I/O 4. 与所索引的表是相互独立的物理结构 5. Oracle 自动使用并维护索引,插入.删除.更新表后,自动更新索引 创建: 1.自动创建 当在表中指定了primary Key或者unique约束时会自动创建唯一值索引. 2.用户创建. 用户可以创建非唯一值所在以提高在访问行时的效率. 语法: CREATE INDEX inde

Oracle Linux 6.3下安装Oracle 11g R2(11.2.0.3)

本文主要描述了在Oracle Linux 6.3下安装Oracle 11gR2(11.2.0.3).从Oracle 11g开始,Oracle官方网站不再提供其Patch的下载链接,需要使用Meatlink账户才可以进行下载.童鞋们不要着急,没有Metalink账户的也可以自己百度一下,网上有很多下载链接,迅雷就可以搞定了.Oracle 11.2.0.3整合为7个zip压缩包,如果仅仅是安装Oracle Database,下载1至2.zip包即可.下面是其安装步骤. 一.准备安装环境1.安装rpm

elasticsearch index 之 create index(-)

从本篇开始,就进入了Index的核心代码部分.这里首先分析一下索引的创建过程.elasticsearch中的索引是多个分片的集合,它只是逻辑上的索引,并不具备实际的索引功能,所有对数据的操作最终还是由每个分片完成.创建索引的过程,从elasticsearch集群上来说就是写入索引元数据的过程,这一操作只能在master节点上完成.这是一个阻塞式动作,在加上分配在集群上均衡的过程也非常耗时,因此在一次创建大量索引的过程master节点会出现单点性能瓶颈,能够看到响应过程很慢. 在开始具体源码分析之