 <p>Off the top, one thing that would help would be determining if you really need all columns. </p> <p>If you don't, instead of SELECT *, select just the columns you need - that way you're not pulling as much data.</p> <p>If you do, then from SQL Server Management Studio (or whatever you use to manage the SQL Server) you'll need to look at what is indexed and what isn't. The columns you tend to search on the most would be your first candidates for an index.</p> <p><strong>Addendum</strong><br /> Now that I've seen your edit, it may help to look at why you're doing the queries the way you are, and see if there isn't a way to consolidate it down to one query. Without more context I'd just be guessing at more optimal queries.</p>