6.2.4 SQL的索引定义语句
在SQL中可以对表建立索引。索引就像是书中的目录,建立索引可以加快查询速度,但是它会降低数据增、删、改速度。
索引的建立可以通过建立索引(CREATE INDEX)语句实现,该语句可以按指定表名、指定列以及指定顺序(升序或降序)建立索引。其形式如下:
CREATE[UNIQUE][CLUSTER]INDEX<索引名>ON<表名>(<列名>[<顺序>][,<列名>[<顺序>],…])
语句中UNIQUE为任选项,在建立索引中若出现UNIQUE则表示不允许两个元组在给定索引中有相同的值。CLUSTER表示所建立的索引是集簇索引。所谓集簇索引是指索引项的顺序与表中记录的物理顺序一致的索引组织。在最经常查询的列上可建立集簇索引以提高查询效率,一般讲一张表只能建一个集簇索引,而建立此索引代价极大,因此对经常更新的列不宜建立集簇索引。语句中顺序可按升序(ASC)或降序(DESC)给出,顺序可以默认,默认时为升序。现举三例如下:
CREATE UNIQUE INDEX XSNO ON S(sno)
此例表示在S(sno)上建立一个按升序的惟一性的索引XSNO。
CREATE INDEX XSC ON SC(sno,cno)
此例表示在SC上建立一个按(sno,cno)升序排列名为XSC的索引。
CREATE CLUSTER INDEX STUSN ON S(sn)
此例表示在S(sn)上建立集簇索引STUSN,且S表上记录将按sn值的升序存放。
在SQL中可以用删除索引(DROP INDEX)语句以删除一个已建立的索引:
DROP INDEX<索引名>
如下面的例子表示将已建立的名为XSNO的索引删除:
DROP INDEX XSNO
索引不是国际标准SQL中的语句,但在一般企业级SQL中均有此语句,在此中的索引语句是参照SQL Server 2000中的索引语句。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。