数据库SQL语言语法总结2---索引

2/13/2017来源:SQL技巧人气:1955

索引的意义:假设我们在数据库中已经建立了一个学生表(有两个属性,学号和考试总分),并且插入了几组数据。然后我们根据学生表中的某个属性列,比如考试总分的升序排列建立一个索引,这个索引独立于物理数据,且这个索引是按照考试总分的升序排列的,这样在查询数据时可以适当的加快查询速度。索引和物理数据存放在不同位置,是两套独立的系统

一:创建索引

create [unique][cluster] index <索引名> on 表名(列名) cluster即表示 要求数据库索引数据与物理数据排列顺序保持完全一致(这样可以加快查询速度,也就是说,在插入记录的时候就对索引数据进行重新排序,可能会导致索引数据大规模数据进行迁移,并且还要反过来存到物理数据中,这会牺牲系统资源,如不需要开启此功能,则使用[uncluster])。

下面依旧结合几个例子来帮助读者进行深入理解语言的用法: 1)按照Student表的Sname从低到高的顺序创建索引并命名为ind _sname且开启cluster模式 create cluster index ind_sname on student(Sname) 2)按照deposit表创建索引,要求每条记录是unique,按照Customer _name的升序排列,相同Customer _name按照account _number的降序排列(ASC为升序,因为数据库默认就是ASC,所以ASC可不写,降序为DESC,必须显性表明) create unique index ind _deposit on deposit(Customer_name ASC,account_number DESC)

二:删除索引

drop index <索引名>