Oracle索引管理
2009-06-23 11:50:26 来源:WEB开发网建立索引其实是很简单的
4.使用索引
建立索引目的是加快访问表中的数据,我们可以使用trace工具查看当select数据时是全盘扫描,还是根据索引直接定位到数据。
打开trace工具
sql>@$ORACLE_HOME/rdbms/admin/utlxplan.sql
sql>@$ORACLE_HOME/sqlplus/admin/plustrce.sql
SQL>grant PLUSTRACE to public
SQL>set autot traceonly;
现在开始select
SQL> select * from t where i='1';
Execution Plan
----------------------------------------------------------
Plan hash value: 2865601831
-------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 25 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| T | 1 | 25 | 2 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | TI_IND | 1 | | 1 (0)| 00:00:01 |
可见数据是通过索引找到的,如果数据量非常大的话,使用索引会大大减小查询时间;
5.特殊情况
上面的例子可以看到当为某个表建立索引后,再在这个表查数据就使用索引,从而可能节省查询时间,提高查询效率,但在oracle中并不是建立索引就应用,如果在查询时对索引字段别加选项可能就不再应用索引而是全盘扫描了,如隐式数据转换,<>,=NULL,索引段加函数。
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接