次数 m の B ツリーの場合、ルートを除くすべてのノードには m-1 から 2m-1 の要素が含まれている必要があります。ここで、すべての要素は少なくともキーであり、場合によっては追加のデータ (値など) も含まれます。ただし、基礎となるブロック デバイスで良好なパフォーマンスを得るには、各ノードで一定の合計サイズを選択する必要があります。要素のサイズが可変の場合はどうなるでしょうか。
SQLite3 には、追加のブロック サイズの断片をノードに追加するスキームがあるようです。MySQL では、レコードのサイズを宣言できます (たとえば、フィールドを単なる文字列ではなく、ある程度のサイズの文字列にすることができます)。他にどのような解決策がありますか? そして、どちらかを選ぶとき、人々は何を考えますか?
編集: 前の文で、データベース開発者は、B ツリーを実装する方法を決定するときに何を考えているのでしょうか?
(私は現在データベースのコースにいるので、特定のシステムの詳細よりも理論と設計の角度に興味があります。)