Most applications contain a loop that contains a parameterized query, which is executed many times depending on some logic. This requires a network round trip between the computer running the application and SQL Server.
You should consider putting the loop inside the query instead. Create a single, more complex query using a temporary table and execute this query only once from the application. In this case, only one network round trip is necessary, and the SQL Server query optimizer can better optimize this single query.