I've seen the acronym RBAR (row by agonizing row) used to describe this. If the client that's doing the row-based processing is on a separate machine, you'll need to add the network latency * the number of rows to the overall processing time. I've personally seen cases where this increases overall processing time 100x ! And that's when the client is in the same data center as the DB server. Move that client to the other side of the globe and the processing time might be 10,000x worse.