为了账号安全,请及时绑定邮箱和手机立即绑定

SQL中的索引是什么?

SQL中的索引是什么?

四季花海 2019-07-13 18:49:36
什么是指数在SQL中?你能解释或引用清楚吗?我应该在哪里使用索引?
查看完整描述

3 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

聚集索引就像电话簿的内容。你可以在“希尔迪奇,大卫”上打开这本书,找到所有“希尔迪奇”旁边的所有信息。在这里,聚集索引的键是(姓氏,名字)。

这使得聚集索引非常适合根据基于范围的查询检索大量数据,因为所有数据都位于彼此之间。

由于聚集索引实际上与数据的存储方式有关,因此每个表中只有一个可能的数据(尽管您可以通过欺骗来模拟多个聚集索引)。

非聚集索引是不同的,因为您可以使用其中的许多索引,然后它们指向聚集索引中的数据。例如,你可以在电话簿的后面有一个非聚集索引,这个索引被输入(城镇,地址)。

想象一下,如果你必须搜索电话簿中所有居住在“伦敦”的人-只有聚集索引,你就必须搜索电话簿中的每一项,因为聚集索引上的键是开的(姓、名),结果,居住在伦敦的人随机地分散在整个索引中。

如果您在(城镇)上有一个非聚集索引,那么这些查询可以执行得更快。

希望能帮上忙!


查看完整回答
反对 回复 2019-07-13
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

一个很好的类比是把数据库索引看作是一本书中的索引。如果你有一本关于国家的书,而你正在寻找印度,那么你为什么要翻阅整本书-这相当于数据库术语中的完整表格扫描-当你只需浏览这本书后面的索引时,这本书就会告诉你可以在哪里找到印度信息的确切页面。类似地,由于图书索引包含页码,数据库索引包含指向行的指针,其中包含在SQL中搜索的值。


查看完整回答
反对 回复 2019-07-13
  • 3 回答
  • 0 关注
  • 1504 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信