Oracle教程之管理索引(二)--Oracle管理索引基本概念
原创
©著作权归作者所有:来自51CTO博客作者Oracle小混子的原创作品,请联系作者获取转载授权,否则将追究法律责任
1、索引的概念
索引是用于加速数据存取的数据库对象。合理地使用索引可以大大降低I/O次数。
2、索引的功能:对记录进行排序,加快表的查询速度。
3、索引的分类:
(1)单列索引和复合索引
单列索引是基于单个列所建立的索引;复合索引时基于两列或多列所建立的索引。
SQL>CREATE INDEX emp_idx1 on emp( ename, job);
SQL>CREATE INDEX emp_idx2 on emp (job , ename);
可以在相同列上建立不同的索引,列顺序不一致即可
(2)惟一索引和非唯一性索引
惟一索引是索引列值不能重复的索引;非惟一索引时索引列值可以重复的索引。
无论是惟一索引还是非惟一索引,索引都允许null;
当定义主键约束或惟一约束时,Oracle会自动在相应的约束列上建立惟一索引。
(3)B-tree 索引和位图索引
(a) B-tree 索引(默认)
a、在一个大表上
b、建立在重复值比较少的列上 ,在做select查询时,返回记录的行数小于全部记录的4%
c、如果这一列经常用来做where子句和排序,也可以用来建立索引
d、一般用于OLTP
(b)bitmap 索引
a、建立在重复值非常高的列上
b、 在做DML 操作时,代价值比较高
c、一般用于OLAP 或DSS
注意: B-tree 索引不能使用or连接的语句,bitmap index可以使用
4、建立索引:默认建立B-tree index
5、建立索引表空间
建议创建专门的索引表空间去存放索引,便于管理。
SQL> conn /as sysdba
Connected.
SQL> create tablespace indexes
2 datafile '/u01/app/oracle/oradata/anny/index01.dbf' size 100m
3 autoextend on next 10m maxsize 500m
4 extent management local uniform size 128k;
Tablespace created.
SQL> select file_id,file_name,tablespace_name from dba_data_files;
FILE_ID FILE_NAME
TABLESPACE_NAME
---------- --------------------------------------------------
---------------
5 /u01/app/oracle/oradata/anny/text01.dbf TEXT
4 /u01/app/oracle/oradata/anny/user01.dbf USERS
3 /u01/app/oracle/oradata/anny/sysaux01.dbf SYSAUX
2 /u01/app/oracle/oradata/anny/lx02.dbf LX02
1 /u01/app/oracle/oradata/anny/system01.dbf SYSTEM
6 /u01/app/oracle/oradata/anny/lx01.dbf LX01
7 /u01/app/oracle/oradata/anny/undotbs01.dbf UNDOTBS
8 /u01/app/oracle/oradata/anny/lx03.dbf LX03
9 /u01/app/oracle/oradata/anny/lx04.dbf LX04
10 /u01/app/oracle/oradata/anny/index01.dbf INDEXES
10 rows selected.
6、与索引有关的视图
DBA_INDEXES
DBA_IND_COLUMNS
V$OBJECT_USAGE
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
实例带你了解GaussDB的索引管理
通过实际例子深入研究GaussDB数据库的索引管理。
子节点 数据 数据库 GaussDB数据库 索引管理 -
Oracle教程之Oracle管理索引(一)--Oracle管理索引
1、索引的创建语法: CREATE UNIUQE | BITMAP INDEX <schema>.<index_name> ON <schema>.<table_name>
Oracle索引 Oracle管理索引 Oracle教程 Oracle索引信息 -
Oracle教程之Oracle管理权限(一)--Oracle权限基本概念,Oracle管理权限基本概念
1、权限的概念权限(Privilege)是指执行特定类型SQL命令或访问其他方案对象的权利,权限包括系统权限和对象权限。2、权限的分类1)系统权限(System Privilege)是指执行特定类型sql命令的权利。它用于控制用户可以执行的一个或一组数据库操作。超过一百多种有效的权限(SELECT * FROM SYSTEM_PRIVILEGE_MAP查)数据库管理员具有高级权限以完成管理任务,例
Oracle管理权限 Oracle系统权限 Oracle系统权限的管理 Oracle权限基本概念