1

MyISAM と innoDB が使用するメモリの量を知っている人はいますか? 小さなテーブルを処理する場合と大きなテーブル (最大 32 GB) を処理する場合のメモリ使用量を比較してください。

innoDB が MyISAM よりも重いことは知っていますが、どれだけ重いのでしょうか?

どんな助けでも大歓迎です。

ありがとう、jb

4

1 に答える 1

7

そんな風に比較することはできません。または、少なくとも、すべきではありません。それぞれが異なる方法でメモリを使用します。これは、DB のパフォーマンスを調整している場合に特に当てはまります。

MyISAM にはインデックス用の特定のバッファーがあり、OS ディスク バッファーを使用して他のデータをキャッシュします。バッファをインデックスの合計よりも大きくしても意味がありませんが、メモリを多く与えるほど高速になります。

InnoDB には、すべてのデータ用のバッファー プールがあります。これは、使用可能なメモリと割り当てたい量に基づいて構成します。InnoDB は、可能な限り多くのデータをメモリにバッファリングします。DB 全体をメモリに収めることができる場合、InnoDB はディスクから読み取ることはありません。多くの InnoDB データベースでは、データ サイズがバッファー プールよりも大きくなると、パフォーマンスが大幅に低下します。

MySQL は非常に構成可能です。ニーズに合わせて調整可能です。通常、データベースはほとんどの場合ディスク バウンドであるため、データベースにはできるだけ多くのメモリを割り当てる必要があります。より多くのメモリは、より多くのバッファリングできることを意味します。

于 2008-11-04T19:33:22.693 に答える