管理索引
在一张表中可以多个索引,但是组合必须不同。
索引是用于加速数据存取的数据对象,合理使用索引可以大大降低i/o次数,从而提高数据访问性能。
单列索引
create index 索引名 on 表名(列名)
复合索引
create index 索引名 on 表名(列名1,列名2...)
使用原则:
1、在大表上建立索引才有意义;
2、在where子句或者连接条件上经常引用的列上建立索引
3、索引一般不要超过4层;
索引不足:
1、建立索引,系统占用大约表的1.2倍的硬盘和内存空间来保存索引。
2、更新数据的时候,系统必须要有额外的时间来同时对索引进行更新,以维持数据和索引的一致性。
实践表明,不恰当的索引不但于事无补,反而会降低系统性能。因为大量的索引在进行插入,修改和删除操作时比没有索引花费更多的系统时间。
删除索引
drop index 索引名;
显示表的所有索引:
select index_name,index_type from user_indexes where table_name='表名'
显示索引列
select table_name,column_name from user_ind_columns where index_name='索引名'