質問: 'tuyoshi'` ...
回答: 「A」のほうがトータルのDB負荷が少ないです。(最低限のSQL発行回数で済むため。) 速度に関しても間違いなく「A」のほうが速いです。 一般的には「A」の処理ができるように組むものかと思います。 ただし、「A」の場合一度に処理するSQLバイト数が大きくなるために、質問中でも記述されているように 最大処理可能なSQLバイト数で切って何度かに分けて処理する必要があります。 (MySQLはデフォルト32MBになっていると思います。) それと、「A」のほうがトータルのDB負荷は少ないのですが一度に処理させる性質上、 瞬間的にはDB負荷があります。一度に取得してくる量が多すぎるためにエラーとなってしまう場合が あると推測される場合のみ、SQLバイト数上限に達していなくても更に細かくSQLを分割して SQL発行回数を多くするのがセオリーかと思います。