0

私のスクリプトは、e ショップの製品ページに必要なすべての詳細を生成します。

上部の 1 つのクエリを使用して製品の詳細を選択し、別のクエリを使用して (外部キー category_id を介して) カテゴリ名を選択し、別のクエリを使用してメーカーのブランド名を取得します....かなり単純です...

すべてが正常に動作します...

最近、単一の製品の単一のフィールドを更新して製品の統計を作成するために、コードを変更して UPDATE クエリを含めました...

products テーブルは現在 1500 行を使用しています...

私はこれらの2つの方法で製品を更新しようとしました:

古典的な方法:

$new_times_viewed = $row_product['times_viewed'] + 1;
UPDATE products SET times_viewed = 300 WHERE product_id = 125 LIMIT 1;

mysql メソッド:

UPDATE products SET times_viewed = times_viewed + 1 WHERE product_id = 125 LIMIT 1;

どちらの方法でも、この円柱状のページの読み込みが非常に遅くなります... サーバーの管理者から、CPU に関してサーバーに大きな負荷がかかっているとの連絡がありました。別の本番サーバーにスクリプトをロードしようとしましたが、うまく動作し、地獄のように高速です...両方のサーバーはMyISAMエンジンを介して動作します...

除外するとパフォーマンスの問題が解決するため、問題を引き起こすのは間違いなくこの更新です。

私のロジックに何か問題がありますか、それともサーバー構成の問題ですか? それは私を怒らせています...

前もって感謝します!

4

0 に答える 0