0

現在、InnoDB ストレージ エンジンを使用しており、約 1k/s を取得しています。レコードがデータベースに挿入されると、レポートでクエリが実行され、そこに問題があります。適切なインデックスを追加し、テーブルを圧縮しましたが、それほど役に立ちません。

ほとんどの場合、レコードの最初の 30 日間のみがハードにクエリされ、残りはそれほどアクセスされません。1 年以上経過したレコードは、実際にはまったくクエリされません。また、ユーザーは実際に最新のデータ/レコードにのみアクセスします。

Mysql のパーティショニング機能は私たちにとって理想的でしょうか? アプリケーションを介して独自のパーティショニングを実装する必要がありますか?

4

1 に答える 1

0

MySQLクエリキャッシュは、SELECTクエリのパフォーマンスを大幅に向上させることができます。まだ使用していない場合は、間違いなくその恩恵を受けることができ、パーティショニングよりも実装が簡単な場合があります。

クエリキャッシュは、SELECTクエリの結果をメモリに保存し、テーブルが変更される前に同じSELECTクエリがサーバーに再度送信された場合に、それらを使用して即時応答を提供します。

SELECTクエリをキャッシュするために2GBのサーバーのメモリを割り当てるために必要なmy.ini構成アイテムの例を次に示します。

#Query Cache
query_cache_size = 209715200
query_cache_limit = 10485740
于 2012-12-05T05:44:01.497 に答える