1.没用上。where子句中包含索引列时,才用上索引;
2.http://oracle.chinaitlab.com/install/37663.html
2.http://oracle.chinaitlab.com/install/37663.html
解决方案 »
- oracle导入dmp文件
- 求一创建视图的语句
- 由于无法直接使用sql语句,我想做一个函数实现数据更新,可以不?
- 请教分页的sql语句
- oracle动态行转列
- 怎么把SQL SERVER2000中的数据表导入到ORACLE8I中?
- create table a (a nvarchar2(3) default '');怎么改?
- 关于red hat下oracle9I的rman备份
- ORACLE数据库中INTERNAL自从改了密码后都得人工STARTUP 为何???
- 请问如何启用Oracle TNSListener服务?
- 数据库在mount状态下,没有open可以查看表空间以及对应的数据文件信息码?
- 包的加密问题
要不然强制使用索引
select /*+ index(t idx_id) */* from t where name='x'(idx_id是id列上的索引)2. OPS在9I好象叫做RAC,就是数据文件放在磁盘阵列上由几个实例共享,可以实现负载平衡,failover等功能,对用户来说是透明的(象只有一个实例在服务)
2 union all select 'number',dump(2,16) from dual
3 union all select 'number',dump(3,16) from dual;'NUMBE DUMP(1,16)
------ -----------------
number Typ=2 Len=2: c1,2 (1)
number Typ=2 Len=2: c1,3 (2)
number Typ=2 Len=2: c1,4 (3) 再对比一下反向以后的情况:SQL> select 'number',dump(reverse(1),16) from dual
2 union all select 'number',dump(reverse(2),16) from dual
3 union all select 'number',dump(reverse(3),16) from dual;'NUMBE DUMP(REVERSE(1),1
------ -----------------
number Typ=2 Len=2: 2,c1 (1)
number Typ=2 Len=2: 3,c1 (2)
number Typ=2 Len=2: 4,c1 (3) 我们发现索引码的结构整个颠倒过来了,这样1,2,3个索引码基本上不会出现在同一个叶块里,所以减少了争用。不过反向索引又一个缺点就是不能在所有使用常规索引的地方使用。在范围搜索中其不能被使用,例如,where column>value,因为在索引的叶块中索引码没有分类,所以不能通过搜索相邻叶块完成区域扫描。1.索引叶块的争用//这是个什么概念,非并行服务器下不会产生?2.所以不能通过搜索相邻叶块完成区域扫描。//既然不能加速查询,那为什么还要用到他呢?
块在块头有个参数MAXTRAN负责管理多少个事务可以并行访问的,比如假设1.那么一旦一个请求来访问这个块中的数据,则块头就记录TRAN设置为1(象C++的CriticalSection).在这个请求完成前,其他事务如果也来了,那它们必须排对等着.也就是块的争用,索引叶块的争用也类似.
这就是我的理解,如果有不对请包涵.有些概念还是比较混淆.所以不能通过搜索相邻叶块完成区域扫描。//因为物理上不是放在相邻的块上,只能跳跃性扫描.