Hello,

In an earlier post I complained of performance problems with ODBC+MySQL 
when running a server which makes many 'small' queries and writes.  What is 
the overhead?  The benchmarks indicate that MySQL via ODBC is perhaps only 
2x slower than MySQL alone, yet the performance we are experiencing is 
_many_ times slower than using Access via DAO.  I'm wondering if the 
overhead has a lot to do with the fact that MySQL runs over a socket 
connection to localhost, whereas the Access jet engine was going directly 
to disk with each query/write?

I'm considering re-writing our database stuff to access MySQL directly via 
the C API, but I'm not confident this will actually help much, and I really 
doubt it will bring our app back to the performance level we achieved with 
the Access/ODBC combo.  But that combo is undesirable as our database grows.

So: does anyone know of a way to avoid the socket connection, i.e. a way to 
directly call the functions executed by the MySQL server process?  If the 
socket connection can pose a serious bottleneck for small-volume data 
access, this would be an ideal solution.  I'm using win32 (2000Pro), 
creating ONE single connection to the localhost which lasts the duration of 
the app.  Everthing is optimized as best I know.  We are not using 
Prepare()'d SQL because we are always creating unique queries on the fly.

I'll mention that I profiled our app with the MySQL + ODBC combination, and 
the SQLExecDirect() odbc call (which handles all our queries) took a 
whopping 52% of the total process cpu time.  argh!  This is many times 
worse than with our previous solution :(


Q


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to