MySQL 索引的 B 树节点中有多少条目?

How many entries are in a node of B-Tree of a MySQL Index?

这个online book describes how MySQL leverages B-Trees用于索引数据。时间复杂度取决于每个节点的条目数。

一个节点中 MySQL 有多少条目?

经验法则:100。

这适用于 InnoDB 数据 BTrees 和索引 BTrees。但是,它可能还很遥远。

一个极端:一个节点中只有 1 条数据记录 -- 由于行大小较大 and/or activity,例如 DELETEs。另一种情况:有 1 条记录的 table 仍将占用完整的 16KB 块。

其他极端:一个节点中有 500 条索引记录 -- 由于键的大小较小且缺少 activity 会删除记录。