Slow ADO.NET Drivers

L

Landley

Informix Issue:

I know this is rare, but if there are any developers that develop on an
Informix database using ADO.NET, I'd like to know if you are having a
performance issue returning in excess of 1000 rows using the Informix .NET
drivers. Our testing show that the Informix .NET drivers are slower against
an Informix database than the ODBC .NET drivers!!!

ADO.NET Moan:

We also found that ADO.NET is generally slower that than the old ADO doing
the same tests! I ask, "Why develop new tools and features if they are
going to be slower than the old ones?" Ok, .NET handles itself better
without any noticeable memory leaks, but that's a nicety for the developer.
We mainly develop for the end user, whom will be the one moaning when their
upgraded system performs slower than the old one? .... breathe

L.
 
W

William \(Bill\) Vaughn

Are the Informix drivers using OLE DB or ODBC? The ODBC.NET drivers are
"managed" code so there's no COM interop involved. If the Informix drivers
are still using COM (they might be), they too could be fighting the COM
interop battle.

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
 
L

Landley

The Informix drivers are using OLE DB and should perform better than using
ODBC. I don't know the ins and outs, but I would be very suprised and
disappointed if they did use COM.

L.
 
W

William \(Bill\) Vaughn

Ah yes. If they're using OLE DB they ARE using COM. Our tests show the
ODBC.NET managed providers are about 20% faster but YMMV.


--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
 
L

Landley

Is there a way that I can easily determine whether they are definately using
OLE DB? I ask this as their support seem reluctant to share information OR
they are too inexperienced to answer my questions.

L.
 
W

William \(Bill\) Vaughn

Open the VS.NET Server explorer and try to create a new connection. Click on
"Providers". This is a list of the OLE DB providers--if Informix is there,
it's OLE DB.
If it's a .NET Managed provider, you have to add it (manually) to the
application references and it should have its own namespace. If you have to
access it via the .NET OleDb namespace, it's OLE DB.

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
 
L

Landley

Thank you Bill.

I will have a look tomorrow at work. I'll let you know my findings.

L.
 
G

Guest

I can confirm that the Informix .NET drivers are not using OLE DB.

I am using the IBM.Data.Informix.dll version 2.81.0.0 if that helps.

Any ideas?

L.
 
W

William \(Bill\) Vaughn

Ok, then I would ask Informix why their .NET managed provider is so slow.
Understand that the ODBC interface is a lot simpler than many .NET Managed
Providers so might in fact be faster in some operations.

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
 
L

Landley

Thanks for that. I was always under the impression that a manufacturer
would develop providers that would perform better in all aspects. I mean,
come on, they know more about the how their manufactured database works than
anybody.

So, what could be more important that selecting data from a table. Ok, so
inserts, deletes and updates are very important too. As far as my end
user's are concerned, they do not want to want for data to be displayed on
the screen.

If my tests and results are correct, retrieving data from a table is
considerably slower using the Informix .NET drivers than ODBC.NET. Surely,
their first priority should have been data retrieval. It makes you wonder
whether they focused on performance at all. To be honest, no aspect of the
drivers should be slower than ODBC, otherwise, WHAT IS THE POINT?!!! As you
can see, I have very strong views on this.

If there are any of the Informix development team reading this thread,
please feel free to comment!

L.
 
W

William \(Bill\) Vaughn

We've seen this before. Some "native" managed providers were simply thin
front-ends to their existing OLEDB drivers--they made a very shallow effort
to reengineer their code to create a "real" native-code managed provider
that did not use COM behind the scenes. In their defense, it's expensive to
create a managed provider and perhaps they have another agenda? I would try
http://www.datadirect.com/index.ssp. They seem very knowledgeable about
drivers and perhaps have something that would work better. But frankly, if
the ODBC driver works , I would use it.


--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
 
L

Landley

Thanks.

ODBC has to be the way to go for performance (with this database).

I am hoping that someone out there can prove me wrong, but until then, ODBC
is the performance solution.

L.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top