
SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间
下面举两个简单的例子:
图书馆的例子:一个图书馆那么多书,怎么管理呢?建立一个字母开头的目录,例如:a开头的书,在第一排,b开头的在第二排,这样在找什么书就好说了,这个就是一个聚集索引,可是很多人借书找某某作者的,不知道书名怎么办?图书管理员在写一个目录,某某作者的书分别在第几排,第几排,这就是一个非聚集索引
字典的例子:字典前面的目录,可以按照拼音和部首去查询,我们想查询一个字,只需要根据拼音或者部首去查询,就可以快速的定位到这个汉字了,这个就是索引的好处,拼音查询法就是聚集索引,部首查询就是一个非聚集索引.
看了上面的例子,下面的一句话就很容易理解了:聚集索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储并不连续。就像字段,聚集索引是连续的,a后面肯定是b,非聚集索引就不连续了,就像图书馆的某个作者的书,有可能在第1个货架上和第10个货架上。还有一个小知识点就是:聚集索引一个表只能有一个,而非聚集索引一个表可以存在多个。
假设你的数据库是Oracle。1、索引不会被更新。你的修改没有更新索引关键字。
2、没什么不同。这种修改对索引和表的物理位置没有发生变化。
3、删除记录会引起索引的更新。删除记录所占的空间被释放,与它相邻的自由空间块一起形成更大的自由空间,或者相邻块都已占用,则变成碎片了。不会被其它记录填补的。
使用索引可以提高数据查询速度,但会降低数据更新速度这是一个判断题
对还是错
答案是正确。
原因是
索引
相当于
书的目录索引。
如果从书中查找内容,先看
目录索引
然后直达目标。
但是如果你向书中加内容,或修改内容。你需要额外修改
书的目录。是需要时间的,所以更新会慢。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)