I am currently working on this project, in which I have to run huge datasets on SQL Server using ADO.NET. And I have come to realize that there can be many performance issues we often neglect while testing for smaller sets.
One of them that I encountered was the issue related to query execution timeout. To understand this issue, I learnt what happens when we execute any query in SQL Server. When a query is submitted, SQL Server checks if there is a plan cached for that query or not. If yes, then that plan is used.