首页 > 新闻 > 知识赋能

SQL数据库如果建立索引和维护

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

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;
来源声明:

本文章系尚品中国编辑原创或采编整理,如需转载请注明来自尚品中国。以上内容部分(包含图片、文字)来源于网络,如有侵权,请及时与本站联系(010-60259772)。

立即预约专属顾问 开启数字化转型之旅!

10年+资深项目经理1V1服务 | 行业定制化方案 | 精准报价体系
获取策划方案
立即预约专属顾问 开启数字化转型之旅!

咨询我们,获得专业的服务和报价

联系我们,免费获取项目方案及报价,或只是聊一聊您的项目? 在收到您的需求留言后我们将由专业人员于24小时内与您取得联系,请您保持电话畅通!

  • 科研院所解决方案
  • 外贸出海解决方案
  • 协会学会解决方案
  • 集团上市公司解决方案
  • 生物医药解决方案
  • 制造业解决方案
  • 高校教育解决方案
  • 信创网站改造解决方案
更多服务咨询,请联系尚品

010-60259772

您的姓名 *
您的电话 *
您的邮箱
公司名称 *