The code that is generated gets the data synchronously. That's the plain, simple data load code. Certainly it needs to be modified to fetch data more effectively. The method really depends on how the app is structured. Sometimes you would want to fetch it asynchronously.
At the least, you do need to 'page' the data, thus get a block at a time.