1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > mysql聚集索引和二级索引_mysql8 参考手册--聚集索引和二级索引

mysql聚集索引和二级索引_mysql8 参考手册--聚集索引和二级索引

时间:2024-05-29 09:49:03

相关推荐

mysql聚集索引和二级索引_mysql8 参考手册--聚集索引和二级索引

每个InnoDB表都有一个特殊的索引,称为聚簇索引 ,用于存储行数据。通常,聚簇索引与主键同义 。为了从查询,插入和其他数据库操作中获得最佳性能,您必须了解如何InnoDB使用聚簇索引为每个表优化最常见的查找和DML操作。

在PRIMARY KEY表上定义a 时,InnoDB将其用作聚簇索引。为您创建的每个表定义一个主键。如果没有逻辑唯一且非空的列或列集,请添加一个新的 自动递增 列,其值将自动填充。

如果您没有PRIMARY KEY为表定义,MySQL会UNIQUE在所有键列所在的位置找到第一个索引,NOT NULL并将 InnoDB其用作聚集索引。

如果表没有索引PRIMARY KEY或没有合适的 UNIQUE索引,则InnoDB 内部生成一个隐藏的聚集索引GEN_CLUST_INDEX,该索引在包含行ID值的合成列上命名 。这些行由InnoDB分配给该表中各行的ID排序 。行ID是一个6字节的字段,随着插入新行而单调增加。因此,按行ID排序的行实际上在插入顺序上。

聚集索引如何加快查询速度

通过聚集索引访问行是快速的,因为索引搜索直接导致包含所有行数据的页面。如果表很大,则与使用不同于索引记录的页面存储行数据的存储组织相比,聚集索引体系结构通常可以节省磁盘I / O操作。

二级索引如何与聚簇索引相关

除聚集索引之外的所有索引都称为 辅助索引。在中InnoDB,辅助索引中的每个记录都包含该行的主键列以及为辅助索引指定的列。 InnoDB使用此主键值在聚集索引中搜索行。

如果主键较长,则辅助索引将使用更多空间,因此具有短主键是有利的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。