I am working on one of the system that uses SQL server as a beckend and asp.net(C#) as front end. Some of the query that we run pulls more than millions of record. I need to download this record into different file format without timeout issues and without crashing a system while downloading. What is the best way to handle this situation?