PHP が MYSQL を操作する問題について
アクセス数が多い Web サイトで、PHP アプリケーションがクエリ、更新、削除、その他の関連操作など、MYSQL をより効果的に操作するにはどうすればよいでしょうか。
-----解決策---------
読み取りと書き込みの分離。キャッシュの追加
------解決策----------------------
データが次のレベルに達した場合、データベースを適切に計画することが重要です。一定の規模のデータベーステーブル...
------解決策---------
PHP データベース操作は一部の操作にすぎません...
データベース処理でさらに最適化を行う必要があります
一部のクエリ結果を memcached に配置します
一部の結果を一時テーブルに配置します
一部の結果を一時メモリ テーブルに配置します
一部の重複を結合しますクエリを 1 つのクエリにまとめました
....
多すぎます。
------解決策-----
異なるサーバーに異なるテーブルを配置する これは非常に簡単です。 , ただし、共同でチェックしないことが要件となります。
書き込み量は少ないが、読み取り圧力が大きく、ディスク速度がネットワーク トラフィックに追いつかない場合は、マスターからスレーブへ個別に読み取りと書き込みを行います。
テーブルのサーバー/マスター/スレーブ クラスターがサポートできない場合は、特定のフィールドに従ってテーブルをハッシュするか、別のマシンにセグメント化します。
これらのマッピング関係を管理するには、mysql プロキシなどを作成します。一般的な圧力では、1 つを破壊することはできても、さらにいくつかのプロキシを開くことは最悪です。負荷分散のため、すべてのデータベース操作はプロキシで解析され、このプロキシの下に、必要に応じてマスター/スレーブ クラスタ用の別のプロキシが存在する可能性があります。 。
プロキシが必要ない場合は、ポリシーをプログラムに直接記述することができます。これは単なる意思決定関数であり、SQL コマンドを渡して、要求された mysql サーバーの ip:port を返す必要があります。この関数を個別に php に配置し、そのインクルードを他のことに使用すると、全体に影響を与えることができ、非常に穏やかになります。
------解決策---------