3

メモリ/ヒープ エンジン テーブルは、大きなバッファ プールを備えた大部分が innodb テーブル データベースと同じパフォーマンスを発揮しますか? 私は通常2つのテーブルを持っています.varcharといくつかの行を持つ1つのinnodbとコンパクトなサイズのメモリテーブル(5行、ほとんどはPKと大量の読み取り用のインデックス付きint.. innodbよりもまだ速いですか?

4

2 に答える 2

1

InnoDB バッファー プールからの読み取りは、メモリ テーブルと同じくらい高速になります。

場合によっては、メモリ テーブルはバッファリングされた InnoDB テーブルよりも優れたパフォーマンスを発揮することさえあります。前者はハッシュ インデックスもサポートしますが、後者は B ツリー インデックスのみをサポートします。クエリのプロファイルによっては、ハッシュ テーブルを使用すると読み取りが高速になる場合があります。

さらに、バッファリングされた InnoDB テーブルは、一部のクエリがこのメモリ領域を必要とする場合、またはデータがほとんど使用されない場合、バッファからフラッシュされる可能性があります。データをメモリ テーブルに明示的にコピーすることにより、データが常にメモリ内にあることが保証されます。

また、バッファー プールのサイズに関係なく、InnoDB テーブルへの更新は、ある段階でディスクにフラッシュする必要があることにも言及する必要があります。しかし、これはあなたのユースケースには当てはまらないことを理解しています。

これは理論です。このデータが非常に頻繁に読み取られる場合にのみ、これらの考慮事項を考慮する必要があります。

于 2013-05-02T16:37:44.163 に答える