検索

ホームページ  >  に質問  >  本文

php - SQL ステートメントがこのように書かれた場合、パフォーマンス上の問題はありますか? ?改善方法? ?

複数テーブルの結合クエリ、サブクエリ、条件付きクエリ、ソート

リーリー

関連データシート:

csp_car_brand、車両ブランド テーブル:

csp_car_type、車両タイプ テーブル:

csp_car_source、車両ソース テーブル:

csp_car_model、車両モデル テーブル (ブランドの特定のモデル):

#csp_car、車両テーブル (このテーブルにはフィールドが多すぎるため、一部のみがリストされています)

csp_auction_record、オークション記録テーブル:

この SQL ステートメントにはパフォーマンス上の問題がありますか? ?最適化するにはどうすればよいですか? ? PHP を使用して単純な SQL ステートメントに分割し、結果を結合する必要がありますか? ?

高洛峰高洛峰2783日前627

全員に返信(1)返信します

  • phpcn_u1582

    phpcn_u15822017-05-24 11:32:34

    これを質問したということは、SQL に問題があることがわかっていることを意味します。問題は、csp_auction_car テーブル内のレコードの数と同じだけ csp_auction_record テーブルがスキャンされることです。考えると恐ろしいですが、このように書くのが好きな人はたくさんいます。また、サブクエリに where 条件を記述するようにすると、ac テーブルのデータ量が大幅に削減され、その後の関連付けが高速になります。
    次のように変更できます。csp_auction_record テーブルは 1 回だけスキャンされます

    リーリー

    返事
    0
  • キャンセル返事