sql中有两种索引分别是什么 数据库中的索引是什么意思?有什么用途?
数据库中的索引是什么意思?有什么用途?
索引是一种独立的物理存储结构,它对数据库表中一列或多列的值进行排序。它是表中一列或多列的值的集合,以及指向数据页的逻辑指针的相应列表,这些数据页在物理上标识表中的这些值。索引的作用相当于书籍的目录,你可以根据目录中的页码快速找到需要的内容。
索引是存储表定列的值数据结构(最常见的是B树、哈希表索引和R树)。索引是在表的列上创建的。因此,要记住的关键点是,索引包含表中列的值,这些值存储在数据结构中。请记住:索引是一种数据结构。
使用索引的全部意义在于通过减少表中需要查询的记录(行)数量来加快搜索速度。
假设有一个学生名单,有100条数据。询问那个名叫小明的学生。
一般情况下,从采用小明名字的学生中选择*。因为我们想得到每个叫小明的学生的信息,我们可以 找到第一个符合条件的行后,不要停止查询,因为可能还有其他符合条件的行。因此,我们必须逐行搜索,直到最后一行——这意味着数据库要检查数千行数据,才能找到那个叫小明的学生。这就是所谓的全表扫描。
假设我们在列名上创建一个B树索引。当我们使用SQL查找名字叫小明的学生时,我们不使用。;不需要扫描整个表。相反,使用索引搜索来查找名为 小明 ,因为索引已按字母顺序排序。索引已经排序,这意味着查询姓名会快得多,因为姓名以 小 都是安排在一起的。另外很重要的一点是,索引还存储了表中相应行的指针,以获取其他列的数据。
聚集索引和非聚集索引的区别底层?
事实上,索引可以理解为一种特殊的目录。微软 SQL SERVER提供了两种索引:聚集索引和非聚集索引。下面,让 说明了聚集索引和非聚集索引之间的区别:
其实我们的汉语词典的正文本身就是一个聚簇索引。例如,如果我们想查找单词 "安 ",因为 "安 "是 "安 ",而根据拼音对汉字进行排序的字典是从英文字母 "A "并以 "Z ",然后是单词 "安 "自然排在字典的前面。如果你能 查看了所有以 amp开头的部分后,我找不到这个单词A ",说明这个词不在你的字典里。换句话说,字典的主体本身就是一个目录,您不必 你不需要查阅其他目录来找到你需要找的东西。的内容。我们称这种文本内容本身为按照一定规则排列的目录聚集索引 "。
如果你遇到一个不认识的单词,不要用。;t不知道它的发音,这时候你需要根据偏旁查找你要找的单词,然后根据单词后面的页码直接翻到一页,找到你要找的单词。但是,你结合部首目录和字典找到的单词排序,并不是真正的文本排序方法。例如,如果你查找单词 "张 ",我们可以看到单词 "张 "在字典中部首搜索后是672,而单词 "池 "在单词 "张 "在字典里,但是页码是63及其以下。显然,这些词并不在单词 amp的上下张 "分别是。现在连续词 "迟、张与弓弩您看到的实际上是它们在非聚集索引中的顺序,这是非聚集索引中词典体中单词的映射。这样我们就可以找到你需要的单词,但是需要两个过程,先在目录中找到结果,然后翻到你需要的页码。我们称这种分类方法为目录是纯目录,文本是纯文本非聚集索引 "。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。