検索

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

mysql - 循环中逐个查询数据库和联表一次性查询数据库分别适用于哪种场景?

一般来说循环中逐条查询的效率是比较低的,每次都产生连接以及并发的开销。
是否有些场景是适合在循环中逐个去查询,而不适合一次性查表的场景呢?

伊谢尔伦伊谢尔伦2873日前892

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

  • 阿神

    阿神2017-04-17 15:02:31

    ループ内でクエリを実行しないでください。ループ内でクエリを実行する理由がわかりません。
    オフライン タスクの場合、Web リクエストのようにすぐに返す必要はありません。データの量が比較的大きい場合は、それが合理的です。 最善の方法は、クエリをある程度カットして、毎回数十から数百のデータを取得することです (データが多すぎると、送信が遅くなります)
    最後に、ループ内でクエリを実行するには、同じ接続も使用する必要があります。毎回接続を再確立するのではなく!

    返事
    0
  • 黄舟

    黄舟2017-04-17 15:02:31

    はい、例:

    リーリー

    現時点では、複数の WHERE 条件 (id=1、id=2 など) がある場合、それらは個別にチェックすることしかできません。
    GROUP BY も可能ですが、データ量が多い場合は GROUP BY のパフォーマンスが低下する可能性があり、1 つの GROUP BY クエリは複数の個別のクエリよりも時間がかかる場合があります。

    返事
    0
  • キャンセル返事