ホームページ >データベース >mysql チュートリアル >MySQL 最適化に関するいくつかの操作
1. キャッシュ プール
MySQL はキャッシュ プールを介して設計されており、データの一部がキャッシュ プール内で見つかった場合、その一部がメモリに保存されます。キャッシュから直接取得できない場合は、ディスクからロードしてください。そのため、大量のメモリを使用できるように、データベース サーバーは 64 ビット オペレーティング システムを使用することをお勧めします。次のパラメータは、メモリ プール
の設定に使用されます:
SHOW VARIABLES LIKE "innodb_buffer_pool_instances"キャッシュ プールの数を確認します。キャッシュ プールの数は、globle を通じて、または
設定ファイル で直接設定できます。
show VARIABLES like "innodb_buffer_pool_size"各キャッシュ プールのサイズを確認し、この設定は自身のサーバーの機能を考慮する必要があることに注意してくださいキャッシュのヒット率を検証するには、
SHOW ENGINE INNODB STATUSを渡すことができます。1 行の出力は非常に重要であり、ヒットを確認できます。 rate:
Buffer pool hit rate 1000 / 1000はキャッシュを意味します。ヒット率は、一般に 95% 未満にすることはできません
2.LRU リスト
キャッシュ内のデータは LRU に保存されます。つまり、クエリされた最新のデータは、これはホットスポットデータを意味しますが、この LRU アルゴリズムにはいくつかのバリエーションがあります。具体的には、 が毎回クエリされるデータは、先頭の位置ではなく中央に挿入されます。この位置がデフォルトの位置になります。これは、一部のテーブル スキャン操作ですべての データが更新されないようにするためです。SHOW VARIABLES LIKE "innodb_old_blocks_pct"は、中間点の位置を表します。 、これは約 3/5 です。もう 1 つのパラメータは
SHOW VARIABLES LIKE "innodb_old_blocks_time"で、これはデータが中間点に挿入されたときに有効になるまでにかかる時間を表します。
実際の環境でホットスポットデータが比較的集中している状況に遭遇した場合、LRU
のパラメータを設定することでホットスポットデータがフラッシュされるのを防ぐことができます以上がMySQL 最適化に関するいくつかの操作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。