I don't know whether or not this is by design or not. If VB.NET is true to what MS says it is, those datasets are in-memory XML, which has it's limitations once you start getting a large amount of data, so that may be why you have a slow down with a large number of records. Try calling a stored procedure to do your updating. That's always going to be faster than an ADO.NET update.