1、索引的数据结构 什么是索引? 索引就是mysql为了提高查询数据的一种数据结构。在数据之外,数据库系统还维护着满足特定查找算法 的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找 算法,这种数据结构就是索引 2、索引的优缺点 (1)优点 1) 类似于书籍的目录索引,提高数据检索的效率,降低数据库的I0成本。 2)通过索弓|列对数据进行排序,降低数据排序的成本,降低CPU的消耗。 (2)缺点 1) 实际上索引也是一张表,该表中保存了主键与索引字段,并指向表的记录,所以索弓|列也是要占 用空间的。 2)虽然索引大大提高了查询效率,同时却也降低更新表的速度,如对表进行INSERT、UPDATE、 DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件每次更新添加了 索引列的 字段,都会调整因为更新所带来的键值变化后的索引信息。 3、索引的数据结构是什么? 大多数采用B+TREE树,少数使用Hash表。
了解B-(B)TREE B树是一种多路平衡查找树,它的每一个节点最多包含k个孩子,k 被称为B树的阶。k的大小取决于磁盘页的大小。 下面来具体介绍一下B- 树(Balance Tree) ,一个m阶的B树具有如下几个特征: . 1.根结点至少有两个子女。 2.每个中间节点都包含k- 1个元素和k个孩子,其中m/2 |