ホームページ  >  記事  >  データベース  >  mysql アプリケーションで一般的に使用される最適化

mysql アプリケーションで一般的に使用される最適化

黄舟
黄舟オリジナル
2016-12-14 15:24:34990ブラウズ

接続プールを使用する
データベースにアクセスする場合、接続の確立には比較的コストがかかるため、アクセスのパフォーマンスを向上させるために「接続プール」を確立する必要があります。接続をオブジェクトまたはデバイスとして扱うことができ、本来データベースへの接続が必要なアクセス場所は、結果が返された後でアクセス用にプールに割り当てられます。接続が戻ります。
Mysql へのアクセスを減らす
同じデータの繰り返しの取得を避ける:
アプリケーションでは、同じテーブルへのアクセスに焦点を当てて結果を抽出するようにする必要があります。データベースへのアクセスの重複を軽減します。
mysql クエリ キャッシュを使用する:
機能: クエリ キャッシュは、SELECT クエリのテキストと、クライアントに送信された対応する結果を保存します。続いて同一のクエリを受信した場合、サーバーはクエリを解析して実行せずに、クエリ キャッシュからクエリ結果を取得します。
適用範囲: データ更新が発生しないテーブル。テーブル (テーブル構造およびテーブル データを含む) が変更されると、クエリ キャッシュ値の関連エントリがクリアされます。
クエリキャッシュの主なパラメータ設定:
「%query_cache%」のような変数を表示します
have_query_cache は、インストール中にサーバーがキャッシュを使用して構成されていることを示します
query_cache_size は、キャッシュ領域のサイズを示します (M 単位)
query_cache_type 変数の値は 0 から 2 で、意味はそれぞれ
0 またはオフ (キャッシュ オフ)
1 またはオン (キャッシュ オン、sql_no_cache を使用した選択を除く)
2 または要求 (sql_cache を使用した select ステートメントのみがキャッシュを提供します)
SHOW STATUS では、クエリキャッシュのパフォーマンスを監視できます:
変数の意味
Qcache_queries_in_cache キャッシュに登録されたクエリの数
Qcache_inserts キャッシュに追加されたクエリの数
Qcache_hits キャッシュサンプルの数
Qcache_lowmem_prunes メモリ不足によりキャッシュから削除されたクエリの数
Qcache_not_cachedなし キャッシュされたクエリの数 (キャッシュできない、または
QUERY_CACHE_TYPE が原因)
Qcache_free_memory キャッシュ内の空きメモリの総数をクエリする
Qcache_free_blocks キャッシュ内の空きメモリ ブロックの数をクエリする
Qcache_total_blocks キャッシュ内のブロックの総数をクエリするキャッシュ
キャッシュ層の追加:
キャッシュ (キャッシュ)、メモリ (メモリ)、およびハードディスク (ハードディスク) はすべてデータ アクセス単位ですが、アクセス速度は降順で大きく異なります。 CPUにとっては、メモリやハードディスクから数桁遅い速度でデータにアクセスするのではなく、最も近いキャッシュから高速にデータにアクセスすることができます。キャッシュに保存されるデータは、CPU が繰り返しアクセスする必要があるデータであることが多く、キャッシュ内のデータのヒット率 (ヒット率) を保証するための特定のメカニズム (またはプログラム) が存在します。したがって、キャッシュを適用すると、CPU がデータにアクセスする速度が大幅に向上します。
キャッシュ マネージャーはキャッシュへのデータの書き込みを担当するため、キャッシュのコンテンツはユーザーに対して読み取り専用である必要があります。必要な作業はほとんどなく、プログラム内の SQL ステートメントは DBMS に直接アクセスする場合と変わりません。返される結果にも違いはありません。データベース ベンダーは、多くの場合、DB サーバー構成ファイルでキャッシュ関連のパラメーターを提供しており、それらを変更することで、アプリケーションに合わせてキャッシュ管理を最適化できます。

その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。