1

列用のテーブル、smallint、整数、および2つのfloatがあります。各行の予想メモリは14バイト(2 + 4 + 2 * 4)です。テーブルには約700,000行あります。主キーとインデックスを設定していません。MyIsamタイプは約10MB(各行の平均15b)を必要としますが、InnoDBタイプは30Mb(平均44b)以上を必要とします。ここで何が欠けていますか?InnoDBは各行に非常に多くのオーバーヘッドがあるのでしょうか、それともテーブルのステータス番号は信頼できないのでしょうか。GBに達するデータを保存する必要があるため、さまざまなパラメーターを比較検討してストレージの種類を決定する必要があります。

4

1 に答える 1

0

MyISAMと比較すると、InnoDBテーブルはより多くのスペースを占有します。ストレージの使用とInnoDBによって提供される機能(クラッシュセーフ、トランザクション、および外部キー)の間のトレードオフが、InnoDBを支持するかどうかは、決定する必要があります。MyISAMからInnoDBに切り替えたので、戻ることはありませんでした。

先に進んでInnoDBを使用する場合は、主キー(理想的には短いキー)を確実に定義する必要があることに注意してください。これは、InnoDBがストレージやその他のインデックスに対してどのように動作するかによるものです。このページを参照してください。

于 2010-09-25T16:52:50.683 に答える