Hello list,

I have a fairly low end server (dual P3 450s, 768 megs of RAM) which
I'm running MySQL on.  The database is primarily used for logging
purposes and so it has a continually growing number of records.  I do
try to keep the number of records down by moving data off to an
archive table periodically.

Last night I noticed that selects on the logging table were taking
over a second to execute, sure enough the database was starting to get
a little big (~250000 entries).  I moved most of the data out to the
archive table:

INSERT INTO archive SELECT * FROM logs WHERE
timestamp<'some-time-about-an-hour-ago';
DELETE FROM logs WHERE timestamp<'some-time-about-an-hour-ago';

This left about 350 rows in the logs table and a quarter million more
in the archive.  The problem is that even with only 350 rows currently
in the table selects were still taking over a second to execute.  When
I first created this table I could run selects against it with a few
thousand rows and still keep in the hundredth of a second range.

Shouldn't 350 entries be 350 entries?  Why should it take longer to do
a select against a table which used to have a large number of entries
in it?

I'm using dev-db/mysql-4.0.25-r2 by the way.

Thanks for any help.
--
[email protected] mailing list

Reply via email to