mysql创建索引 聚集索引和非聚集索引的区别底层?
聚集索引和非聚集索引的区别底层?
实际上,索引可以理解为一种特殊的目录。microsoftsqlserver提供了两种索引:聚集索引和非聚集索引。接下来,让我们来说明聚集索引和非聚集索引之间的区别:事实上,我们的汉语词典本身就是一个聚集索引。例如,我们需要查“安”字,因为“安”字的拼音是“安”,而按拼音排序的《汉字词典》以英文字母“a”开头,以“Z”结尾,所以“安”字自然排在词典的前面。如果你在所有以“a”开头的部分后面都找不到“a”这个词,那就意味着你的字典里没有这个词。也就是说,字典的主体本身就是一个目录,您不需要查找其他目录就可以找到您需要查找的内容。我们把这种文本内容本身称为一种按一定规则排列的目录,称之为“聚集索引”。
如果遇到一个不认识的单词,不知道它的发音,需要根据字根找到要找的单词,然后直接根据单词后面的页码翻页找到要找的单词。但是,将“字根目录”与“检查表”结合起来对找到的单词进行排序并不是文本的真正排序方法。例如,查“张”字时,查字根后可以看到检查表中“张”的页码是672,检查表中“张”的顶部是“Chi”,但页码是63,“张”的底部是“Nu”,页码是390。显然,这些词并不真正位于“张”字的上下。您现在看到的三个连续的单词“Chi”、“Zhang”和“Nu”实际上是它们在非聚集索引中的排序,即字典体中的单词在非聚集索引中的映射。我们可以用这种方法找到您需要的单词,但它需要两个步骤:首先在目录中找到结果,然后转到您需要的页面。我们称这种目录为纯目录,纯文本称为“非聚集索引”。
什么是聚集索引mysql?
SQL server提供两种索引:聚集索引和非聚集索引。其中,聚集索引是指表中存储的数据按索引的顺序存储,检索效率高于非聚集索引,但对数据更新的影响较大。非聚集索引意味着数据存储在一个地方,索引存储在另一个地方。索引有一个指向数据存储位置的指针。非聚集索引的检索效率低于聚集索引,但对数据更新的影响较小。
聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,按姓氏排列数据。由于聚集索引指定表中数据的物理存储顺序,因此一个表只能包含一个聚集索引。但是索引可以包含多个列(复合索引),就像电话簿是按姓氏和名字组织的一样。
非聚集索引中的项按键值顺序存储,而表中的信息按另一顺序存储(这可以由聚集索引指定)。对于非聚集索引,可以为通常用于在非聚集索引表中查找数据的每列创建非聚集索引。有些书包含多个索引。例如,一本关于园艺学的书可能包括流行植物名称索引和科学植物名称索引,因为这是读者查找信息最常见的两种方式。
mysql创建索引 mysql聚集索引和非聚集索引 mysql创建聚簇索引
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。