如何创建一个索引
索引的分类:
1. 单列索引
create index 索引名 on 表名(列名);
2. 复合索引
create index 索引名 on 表名(列名1,列名2);
举例:
create table users( name varchar2(30), age number, email varchar2(36));
create index idx_name on users(name);
使用意义:
1,在大表上建立索引才有意义。
2,在where字句或是连接条件上经常引用的列上建立索引
select * from 表名 where [b]列名[/b]="条件值"
这里的列名可以是书名, 作者之类, 但是不能是书本页数, 因为页数不常用,不该被作为索引。
3, 索引的层次不要超过4层
● 索引缺点分析:
1: 建立索引,系统要占用大约为表的1.2倍的硬盘和内存空间来保存索引。
2: 更新数据的时候, 系统必须要有额外的时间来同时对索引进行更新,以维持数据和索引的一致性。 实践表明,不恰当的索引不但于事无补,反而会降低系统性能。因为大量的索引在进行插入,修改和删除操作时比没有索引花费更多的系统实践。
索引的分类:
1. 单列索引
create index 索引名 on 表名(列名);
2. 复合索引
create index 索引名 on 表名(列名1,列名2);
举例:
create table users( name varchar2(30), age number, email varchar2(36));
create index idx_name on users(name);
使用意义:
1,在大表上建立索引才有意义。
2,在where字句或是连接条件上经常引用的列上建立索引
select * from 表名 where [b]列名[/b]="条件值"
这里的列名可以是书名, 作者之类, 但是不能是书本页数, 因为页数不常用,不该被作为索引。
3, 索引的层次不要超过4层
● 索引缺点分析:
1: 建立索引,系统要占用大约为表的1.2倍的硬盘和内存空间来保存索引。
2: 更新数据的时候, 系统必须要有额外的时间来同时对索引进行更新,以维持数据和索引的一致性。 实践表明,不恰当的索引不但于事无补,反而会降低系统性能。因为大量的索引在进行插入,修改和删除操作时比没有索引花费更多的系统实践。