January 29th, 2008

Hopelessly Bad

Some time ago, the folks in charge of our web interface decided that we should return data as a .NET DataSet. This may not have been the happiest choice.

Apparently, the indexing in the .NET DataSets is badly broken. I'm trying to do a Select on two columns to retrieve -- in the desired order! -- the 7400 points that are defined as rows in a particular DataSet. The columns are both primary sort keys.

This takes 25 seconds or so to run. If I comment out the Select statement, it takes less than a second to complete the loop.

Supposedly you can do the query against the contained DataRowCollection instead of against the DataTable and that will be faster. It isn't.

Supposedly you can force the table to create an index for a column and it will be faster. That might be true, but doesn't work when you need to search on more than one column.

Overall, this is so broken it isn't even funny.

I think I'll go to England.