设为首页 加入收藏

TOP

Oraclecreateindexon(colname,0)的意义(一)
2015-07-24 11:56:39 来源: 作者: 【 】 浏览:19
Tags:Oraclecreateindexon colname 意义

今天看到一个索引,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,如何转换请看 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
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇用户 下一篇【ORACLE】oracle字符串对象的处理

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何理解智能指针? (2025-12-24 12:48:26)
·c++是否应避免使用普 (2025-12-24 12:48:23)
·如何通俗易懂学会 C+ (2025-12-24 12:48:21)
·在 C 语言函数中,如 (2025-12-24 12:19:41)
·C盘里面的AppData文 (2025-12-24 12:19:38)