当Oracle数据表的记录较多的时候,为了提高查询的效率,我们常常会为数据表建立索引,这样在查询的时候就能够大大提高查询的速度了。创建了索引了之后,在表的增加、删除、修改操作效率则会下降
1、查看一张表当中已有的索引
select index_name from all_indexes where table_name = ‘表名’;
注意:ORACLE不区分大小写,但是这里的表名必须要大写、
2、创建一个索引
create index 索引名称 on 表名(表中要创建索引的某一个字段)
3、创建多个列的索引
create index 索引名称 on 表名(列1,列2····)
4、mysql添加索引
1.添加PRIMARY KEY(主键索引)
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
2.添加UNIQUE(唯一索引)
mysql>ALTER TABLE `table_name` ADD UNIQUE (`column`)
3.添加INDEX(普通索引)
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
4.添加FULLTEXT(全文索引)
mysql>ALTER TABLE `table_name` ADD FULLTEXT (`column`)
5.添加多列索引
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
唯一索引和一般索引的区别
1、只有当你的要创建索引的列中的内容的值没有重复时(空值除外),才能对其创建唯一索引,否则,就创建不了唯一索引。通常来说,对于相同环境下(相同的对象,相同的操作,相同的检索条件等),唯一索引都会更好一些,其COST值也要更低一些(索引全扫描除外)。 2、唯一约束的实现是依赖于唯一索引的(主键约束也是依赖唯一索引的)。当你创建一个维一约束时,ORACLE会自动创建(或使用已有的)相应的唯一索引。 3、约束是为了保证数据的完整性和业务逻辑的正确性,而索引是为了提高检索的效率。两者的作用和目的不同,但又相互联系唯一索引eg:身份证号 |