If you run this code on the client, Anvil will do its best trying to load chunks of database rather than a little bit at a time.
For example it could decide to read 10 rows on each round trip leaving behind the simple object columns to save bandwidth. This could be good for you, but if you need simple object values or you need the 11th row, you would trigger more round trips.
I never return rows to the client for this reason, because I don’t have control over the number of round trips. I always do my dictionary comprehensions on the server side and return a list of dictionaries to the client, so I’m sure I do only one round trip which includes all and only the data I need. Now the problem is that I return a list, not a generator, so I need to return all the rows I need in one round trip.
This feature request addresses this very problem, you can upvote it.