現在、Python でキャッシュしている以下のデータがあります。
id timestamp data-string
データ文字列のサイズは ~87 バイトです。これを Python に最適に保存すると (dict を使用し、タイムスタンプを区切り文字付きの data-str の前に追加する)、エントリあたりの RAM コストは最大 198 バイトになります。これは、必要なキャッシュのサイズに対して非常に大きいです。
同じものをMySQLテーブルに保存して、RAMスペースを節約できるかどうかを確認したいと思います。そうしている間、私はこれを次のように保存します:
id timestamp data-string
4B 4B
<---- PK ---->
MySQL が InnoDB テーブルのインデックス (現在持っているもの) を RAM にロードすることを理解しています。したがって、id (一意)、タイムスタンプ、およびデータ文字列へのポインターは RAM に常駐します。
この新しいテーブルについてのみ、MySQL の B+Tree の完全な RAM 使用量 (つまり、メタデータを含む) を計算するにはどうすればよいですか?