We have been using the ASP-DB tool for almost a year now. We noticed that the download function was a bit particular. Not because of the programming but we think because of underlying ADO issues.

Our queries are very complex. Multiple joins, long where clauses and we use the IN clause a fair amount which doesn't help performance. All of the queries run fast in SQL QA though so the weak link had to be the web.

I placed a stored procedure on the page that is passed a SQL string. The SP does a SELECT INTO and creates a temp table in the DB. The download function then does a Select * from table, no joins, where's, etc. We are creating dynamic selects so it was important to have something that could change by user input. It is much faster than even having it in a view. I can do 80K+ rows and 10 + cols in just a few seconds.