(二)普通索引
语法:
create index 索引名称 on 表名(列名);
需求:我们经常要根据业主名称搜索业主信息,所以我们基于业主表的 name 字
段来建立索引。语句如下:
create index index_owners_name on T_OWNERS(name)
索引性能测试:
创建一个两个字段的表
create table T_INDEXTEST (
ID NUMBER,
NAME VARCHAR2(30)
);
编写 PL/SQL 插入 100 万条记录(关于 PL/SQL 我们在第四章会学到)
BEGIN
FOR i in 1..1000000
loop
INSERT INTO T_INDEXTEST VALUES(i,'AA'||i);
end loop;
commit;
END;
创建完数据后,根据 name 列创建索引
CREATE INDEX INDEX_TESTINDEX on T_INDEXTEST(name)
执行下面两句 SQL 执行
SELECT * from T_INDEXTEST where>
SELECT * from T_INDEXTEST where NAME='AA765432';
我们会发现根据 name 查询所用的时间会比根据> (三)唯一索引
如果我们需要在某个表某个列创建索引,而这列的值是不会重复的。这是我们可
以创建唯一索引。
语法:
create unique index 索引名称 on 表名(列名);
需求:在业主表的水表编号一列创建唯一索引
语句:
create unique index index_owners_watermeter on
T_OWNERS(watermeter);
(四)复合索引
我们经常要对某几列进行查询,比如,我们经常要根据学历和性别对学员进行搜
索,如果我们对这两列建立两个索引,因为要查两棵树,查询性能不一定高。那
如何建立索引呢?我们可以建立复合索引,也就是基于两个以上的列建立一个索
引 。
语法:
create index 索引名称 on 表名(列名,列名.....);
根据地址和门牌号对学员表创建索引,语句如下: