php - SQL ステートメントがこのように書かれた場合、パフォーマンス上の問題はありますか? ?改善方法? ?
高洛峰
高洛峰 2017-05-24 11:30:34
0
1
600

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

リーリー

関連データシート:

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

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

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

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

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

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

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(1)
phpcn_u1582

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

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート