• Sorry, I cannot ask users to wait 15-30 seconds. In any case, even 30s might not be enough depending on the data size. Yet, regardless of data size, the first X rows can be returned quickly (assuming proper indexing). I'm certainly open to any new ideas, but users waiting for an entire result set is not going to work. In any case, it sounds like SQL Server async cursor population is not a viable shortcut due to it taking quite awhile to return the cursor id for large result sets. Implementing my own key set table and async population through service broker does however provide users with fast performance perception on large result sets.