Q:索引数据结构为什么不使用二叉树?
A:二叉树虽然是搜索效率最高的,但是索引不止存在内存中,还要写到磁盘上。当数据量大的时候,即节点很多(二叉树每个节点仅有两个儿子),也就导致树的高度就增加。当查询的数据位于叶子节点的时候,磁盘随机读次数(树的层数)自然会很多,那本次查询就会相当慢了。
注:MySql默认一个节点的长度为16K,一个bigint长整数字段索引的长度为 8B,另外每个索引还跟着6B的指向其子树的指针,所以每个节点能挂着16K/14B ≈ 1170个儿子。
索引Core
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。