I\'m using .Net 4.0 and SQL server 2008 R2.
I\'m running a big SQL select query which returns millions of results and takes up a long time to fully run.
Does
if you really have to process millions of records Why dont you load 10,000 each round process them and then load the next 10,000? if not consider using the DBMS to filter the data before loading it as the performance on the database is much better than in you logic leyer.
Or follow a lazy load concept and load only Ids to which you load the actual data only when you need it.