Friday, February 24, 2012

Ado Xml

Im getting an XML String from the server which I load into an ADO Recordset for display.
Im use the XMLDomDocumentPtr
and then use ADO Recordset.Open method for the XMLDocument.

All this works fine. The only problem i have is it is very slow. It takes 2seconds for just 1000 records which is not good.

Any help is appreciated...My experience with large recordsets mirrors yours; it does get slow (though I generally began experiencing issues at around 10,000 records). The data is being loaded into an object resident in memory. I usually stick to this technique when recordsets are smaller than 1,000 rows.

Regards,

hmscott|||My first observation would have to be that if you are returning rows for the user to peruse, what are the chances that they'll actually look at more than ten? While recordsets can be huge, my users rarely care about sets with more than twelve rows, and never care about more than 25, so a limit of a thousand seems silly to me!

Next order of business is data size... XML tends to produce largish rows, often in the 2Kb to 10 Kb range. If you figure out how much data that amounts to for a thousand rows, your application is having to slog through quite a bit of data, and that data is often coming down a relatively slow line. If this is your case, just moving and reformatting the data takes a while.

While you might be an exception to the rule and have a perfectly valid reason to do what you are doing, nearly every case I've seen where someone complains about performance for this kind of thing has hinged on a design flaw. Please examine what you are doing, and the performance you are complaining about, and if the problem isn't apparent please give more details and I'm sure that someone here can offer you suggestions.

-PatP

No comments:

Post a Comment