This may not be as much a problem with the components exactly and more of a network issue, but I'm hoping you guys can help me out.
I'm Running Delphi 2006 Pro, newest version of MyDAC, MySQL v. 5.0.18
I was using V 4.something for quite a while with not really any problems until I was moved to a different computer in the office. Now, everything that accesses the database server is very slow on this computer and most of the other computers around the office. There are only 2 or 3 that access everything really quick and nice, and I cannot for the life of me figure out what settings might be different. Before, I could never figure out what the problem was all the other people had with the programs I was writing being quite slow to access fairly large amounts of data until I got moved to a different workstation.
The problem is really only with queries that grab a fair amount of data, say several hundred items from the database. Queries that just do one or two things still execute quickly. Now, what's weird is that if I use dbExpress, it's fast as can be, no perceivable wait time. The slowdown was very significant with version 4 of MyDAC, and when I upgraded to version 5, things are noticeable faster, but still not really fast enough, so I'm assuming that it does have some small part to play in the slowdown issues. It acts like it only wants to receive data at a very slow speed across the network.
The database server is a Linux machine, which I have limited access to right now. Pinging it is very fast, generally under 1 ms. Also, the MySQL administrator program runs very fast from my desktop with even the largest queries executing in less than 1 second. I was suspicious of a DNS lookup slowdown, but that doesn't really right as the slowdown isn't in contacting the server -- it's just a very slow transfer rate of data.
I'm just completely confused as to what might be causing this. It seems like a network issue, but there's still something about the way MyDAC works also that seems to be affecting it. It would be nice to get this resolved as I don't really want to have to redo everything with dbExpress. I really, really like the way the MyDAC components work, and want to keep using them.
Thanks in advance for taking time to read this and helping me out.
Slow performance, but only on certain computers
Re: Slow performance, but only on certain computers
By default, components of MyDAC (TMyTable, TMyQuery, etc.) fetch all records on open. When dbExpress fetches only first records. The rest of records are fetched on demand.HyrumR wrote:Now, what's weird is that if I use dbExpress, it's fast as can be, no perceivable wait time.
In MyDAC you can set the TMyQuery.FetchAll property to False or TMyQuery.UniDirectional property to True.
Mode when Unidirectional is set to True equals to dbExpress's behaviour. You can find more detailed information about these properties in the MyDAC help.