我们已经准备好了,你呢?

我们与您携手共赢,为您的企业形象保驾护航!

当前位置: 首页 > 百科知识问答 > SQL数据库如果建立索引和维护


索引是根据表中一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表。为了改善查询性能,可以建立素引。

1.创建索引

在SQL语言中,建立索引使用CREATE INDEX语句,其一般格式如下:

CREATE [UNIQUE] [CLUSTER] INDEX<索引名>

ON <基本表名>(<列名>[<次序>],[,<列名>[<次序>]]...);

说明:

(1) UNIQUE规定索引的每一个索引值只对应于表中较早的记录。

(2) CLUSTER规定此索引为聚集索引。所谓聚集索引是指索引项的顺序与表中记录的物理顺序一致的。聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含靠前个值的行后,便可以确保包含后续索引值的行在物理相邻。使用聚集索引能极大地提高查询性能.省略CLUSTER则表示创建的索引为非聚集索引,非聚集索引与书本中的索引类似.数据存储在一个地方,索引存储在另一个地方,索引带有网站制作指针指向数据的存储位置。索引中的项目按索引键值的顺序存储,而表中的信息按另一种顺序存储(这可以由聚集索引规定)。

(3)<次序>:建立索引时指定列名的索引表是ASC(升序)或DESC(降序)。若不指定,默认为升序。

(4)本语句建立的索引的排列方式为:先以靠前个列名值排序;该列值相同的记录,则按下一列名排序。

【例3.8]在Student表的属性列Sno上创建一个非聚集索引。

CREATE INDEX IDX_DNO_SNO

ON Student(Sno ASC);

【例3.91在Student表的属性列Sname上创建一个聚集索引。

CREATE CLUSTER INDEX IDX_SNAME ON Student(Sname ASC);

2.删除索引

虽然索引能提高查询效率,但过多或不当的索引会导致系统低效。用户在表中每加进一个索引,数据库就要做更多的工作。过多的索引甚至会导致索引碎片,降低系统效率。因此,不必要的索引应及时删除,删除索引的格式如下:

drop INDEX <索引名>

说明:本语句将删除定义的索引,该索引在数据字典中的描述也将被删除。

【例3.10】删除Student表的索引IDX_DNO_SNO。

drop INDEX IDX DNO SNO;

免责声明:本站内容(文字信息+图片素材)来源于互联网公开数据整理或转载,仅用于学习参考,如有侵权问题,请及时联系本站删除,我们将在5个工作日内处理。联系邮箱:chuangshanghai#qq.com(把#换成@)

我们已经准备好了,你呢?

我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

132-7207-3477

上班时间

周一到周五 09:00-18:00

二维码
线