mysql - 24 個の連続した SQL ステートメントを 1 つずつチェックします。すべて結合したほうがよいでしょうか?
滿天的星座
滿天的星座 2017-06-08 11:03:29
0
3
916

これらの 24 個の連続した項目は似ていますが、9 時から 10 時、10 時から 11 時など、条件が異なります。

滿天的星座
滿天的星座

全員に返信(3)
学霸

「明らかに、UNION ALL を使用する場合は、データが重複しているかどうかを判断せずに、さまざまなクエリを単に結合するだけです。したがって、クエリ結果に重複データがないことが確実である場合、または重複を削除する必要がない場合は、データがある場合は、クエリ効率を向上させるために UNION ALL を使用する必要があります。」

いいねを押す +0
学习ing

これらの条件を接続するために OR を使用してみてはいかがでしょうか?例:

リーリー
いいねを押す +0
为情所困

データベースの場合、24 リクエストは 1 リクエスト (複数の検証解析 + ネットワーク送信) よりも確実に多くのリソースを消費します。時間が継続的であれば、最悪の場合、union all の方が良いでしょう。もちろん、前提条件は時間フィールドにインデックスがあることです。これを or に変更することはお勧めできません。これは、時間範囲が多すぎると解析が増加し、テーブル全体がスキャンされる危険性があるためです。 Union All は結果セットをマージするだけで済みます

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