简单了解Oracle数据库中如何创建索引
首发微信公众号:SQL数据库运维
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
索引的一个主要目的就是加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。
索引的创建语法
CREATE INDEX 索引名 ON 表名(列名) TABLESPACE 表空间名; --举例 CREATE INDEX STUINFO_STUID ON STUINFO(STUID) TABLESPACE USERS;
除了单列索引,还可以创建包含多个列的复合索引
CREATE INDEX 索引名 ON 表名(列名1, 列名2, 列名3, ...) TABLESPACE 表空间名; --举例 CREATE INDEX STUINFO_STUID_IDNUMBER ON STUINFO(STUID,IDNUMBER) TABLESPACE USERS;
注意:注意到在命名时的习惯了吗?使用"表名_字段1名_字段2名"的方式。
删除索引语法
DROP INDEX 索引名;
查看某个表中的所有索引语法,表名大写。
SELECT * FROM ALL_INDEXES WHERE TABLE_NAME = '表名'
查看某个表中建立了索引的所有列。
SELECT * FROM ALL_IND_COLUMNS WHERE TABLE_NAME = '表名'
需要注意的是,建立索引并不是越多越好,而且建立的越多,也未必会快,建立太多的索引将会影响更新和插入的速度,因为它需要同样更新每个索引文件。对于一个经常需要更新和插入的表格,就没有必要为一个很少使用的where字句单独建立索引了,对于比较小的表,排序的开销也不会很大,也没有必要建立另外的索引,因此,应该通过实际的使用环境来判断是否需要建立索引,在需要的时候建立索引。
以上介绍的只是一些十分基本的东西,如果想要了解更多,欢迎关注,一起探讨,优化数据库的检索速度,体验飞一般检索速度。