索引分类
a) 唯一索引 作用是数据约束保证数据唯一还有就是数据索引提高查询效率
b)一般索引只有数据索引的作用
唯一索引的建立
create unique index 索引名 on 表名(字段名)
ok假设有一个Emploeyy表里面有一个empName字段我们来为empName添加唯一索引
create unique index idx_empname on employee(empname)
一般索引
create index 索引名 on 表名(字段名)
ok现在我们为employee的address字段添加一般索引
create index idx_address on employee(address);
我们还可以为两多个字段建立索引
create unique index idx_test on employee(fieldfield);
这样为fieldfield添加了唯一索引field和field的组合是唯一的了
还可以指定索引排序
create index idx_test employee(field field desc);;
函数索引
如果在我们的查询条件使用了函数那么索引就不可用了
可以用建立函数索引的方式来解决这个问题
例如:
select * from product where nvl(price)> ;
这里nvl(price)使用了函数索引不能利用price字段上做的索引了
ok我们来创建函数索引
create index index_price on product(nvl(price));
索引的删除
drop index 索引名
drop index idx_empname;
其它的
唯一索引能极大的提高查询速度而且还有唯一约束的作用
一般索引只能提高%左右的速度
经常插入修改应在查询允许的情况下尽量减少索引因为添加索引插入修改等操作需要更多的时间
可以在order by的字段where的条件字段join的关联字段添加索引
比如:
select * from table t
left join table t on t字段A=t字段B
where t字段C = 值
order by t字段D
这里ABCD字段都应该添加索引