私はMySQLでいくつかのテストを行っていますが、私がやろうとしていることの初心者です。innodb バッファー プールをいっぱいにするための適切な戦略を知りたいと思っていました。あまりにも多くの挿入を行うと、タスクを実行する必要があると考えていました。どなたか確認していただけると幸いです。
ありがとう!
私はMySQLでいくつかのテストを行っていますが、私がやろうとしていることの初心者です。innodb バッファー プールをいっぱいにするための適切な戦略を知りたいと思っていました。あまりにも多くの挿入を行うと、タスクを実行する必要があると考えていました。どなたか確認していただけると幸いです。
ありがとう!
あなたが言っていることは正しいですが、バッファプールを操作するためにinnodbによって使用されている戦略を読んだ後、LRUアルゴリズムにあります。バッファー プールをより便利に使用するには、バッファー プールにあるデータをウォームアップする必要があります。innodb エンジンがバッファ プールから頻繁に使用するデータは、新しいデータになるか、バッファ プールのウォームアップ部分に存在するデータと言えるからです。
LRU アルゴリズムを使用してバッファー プールをウォームアップするためのスクリプトがインターネット上で多数公開されています。
innodb_buffer_pool へのメモリの割り当てに関しては、オペレーティング システムで実行されている他のプロセスが遅くならないように最適なサイズに設定する必要があります。つまり、オペレーティング システムのネイティブ プロセスに十分なメモリが必要です。
より多くのメモリをバッファに割り当てると、OS のネイティブ プロセスで使用できるメモリが少ないため、ページ フォールトが発生するリスクがあります。
非常に簡単な方法は、十分な大きさのバッファー プールを割り当て、1 つの文字列だけで構成される単純なテーブルを作成し、多数のランダムに生成された文字列で構成されるファイルで LOAD DATA INFILE を使用することです。これを行うと、バッファ プールがいっぱいになります。