oralce数据库索引
来源:互联网 发布:羽泉的唱功 知乎 编辑:程序博客网 时间:2024/06/10 01:33
例如有如下表:test_tb
如果在该表中不存在任何索引,那么在查询某一条记录,例如姓名为limei的人,因为查询到一个后下面不确定是否还存在姓名为limei的人,因此会进行全表扫描查询。
而如果该表的姓名字段上存在索引的情况下,那么会存在这么一张索引表:
该表是进行按照姓名排序后的索引表,如果查找姓名为limei的人,那么数据库会首先对name列进行快速搜索,如果找不到则可以停止搜索,如果找到,则继续向下查找,然后按照对应的ROWID在test_db表中查找到对应的记录即可。
索类分类
唯一索引和非唯一索引,唯一索引则不允许索引列值重复, 非唯一索引可以重复,一般不建议使用唯一索引,而是通过约束来控制列是否运行重复。 索引
单列索引和复合索引,顾名思义,复合索引是多列组成的索引,单列索引则仅一列 ,如果是复合索引,则经常查询的列应该在最前面,因为如果创建了C1,C2,C3三列复合索引,单独使用其中的某一列,例如仅仅查询C1或者C1和C2,则都可以通过该索引提高查询速度,但如果仅仅访问C2或者C2和C3,则无法使用该复合索引。
标准索引即B树索引,而唯一索引非唯一索引就是针对B树索引来说的
位图索引,常用于某个列基数比较小的列上,例如test_db中sex列,基数为0和1,若用B树索引的话会返回大量数据,效率会很低。
数据库生成的位图索引表如下
5. 函数索引,即在函数,例如SUBSTR()函数上创建索引,例如姓名列,如果要查询的行中姓名忽略大小写,那么如果查询条件姓名是zhangsan,那么ZHANGSAN就不会被查到,如果用UPPER(name)=‘zhangsan’来转换为
大写,则可以完成忽略大小写,但此时在name列上的索引却无法使用,因此需要创建函数索引来解决此类问题。
创建索引 CREATE [UNIQUE] |[BITMAP] INDEX index_name
ON table_name([col1 [ASC,DESC],col2[ASC,DESC]......]|[express])
[TABLESPACE tablespace_name]
[PCTFREE n1]
[STORAGE (INITIAL n2)]
[NOLOGGING]
[ONLINE]
[COMPUTE STATISTICS]
[NOSORT]
实例1,创建B树索引,即ORACLE默认索引:
create INDEX index_test_tb ON test_tb(name);
实例2,创建位图索引:
create MITMAP INDEX bindex_test_tb ON test_tb(sex);
实例3,创建函数索引(可以是B树索引或者位图索引):
create INDEX funindex_test_db on test_db ON test_db UPPER(name);
修改索引
ALTER INDEX index_name RENAME TO new_index_name;
合并索引
ALTER INDEX index_name COALESCE;
重建索引,使用REBUILD关键字
ALTER INDEX index_name REBUILD TABLESPACE tablespace_name;
删除索引
DROP INDEX index_name;
- oralce数据库索引
- oralce 索引
- Oralce 索引
- oralce索引
- [Oralce] 分区表和索引
- oralce 索引概述
- oralce索引学习
- oralce 索引命名规范
- 建立ORALCE空间索引相关
- oralce数据库备份(java)
- Oralce数据库第一讲
- Python 操作Oralce数据库
- Oralce数据库的优化
- oralce数据库复制
- Oralce数据库导入导出
- oralce数据库同义词
- 黑马程序员--Oralce数据库
- R连接 oralce数据库
- Githup上生成key
- DDR地址另外配置+DDR初始化参数更改2
- 我的框架--QiCai(模型类 PDO连接数据库)
- centos6.5文件共享,nfs服务,mount连接
- C# 父窗体中点击多个子窗体不出现重复
- oralce数据库索引
- c3p0 报 APPARENT DEADLOCK!!!
- Android Realm数据库的查询及自动更新
- 解决上传到github报错Successfully created project 'Demo' on GitHub, but initial commit failed:
- Ajax语法浅析
- java API中文版本
- Linux学习资料
- Redis 使用介绍
- noip普及组2004 花生采摘