Javier Diaz <[EMAIL PROTECTED]> wrote on 02/07/2004 10:28:32:

> We have some tables to record different data of the activity in our 
website.
> The number of INSERT, DELETE and UPDATE operations in these tables is 
huge
> (it could be more than 3000 a second). So far we don't have any speed
> problems, all these tables are optimised using the right indexes and
> everything is working ok. But now we are writing a Report Tool to get 
some
> stats and figures from these tables. We have been doing a few tests and 
any
> SELECT query taking more than one second or a few simultaneous SELECT, 
and
> we have a real mess, lots of LOCKS. We definitely can not afford to slow
> down the web site, and we have been thinking in a few possible solutions
> 
> 1- Create a duplicate once a day of each of the tables we need to 
connect
> from the Report Tool. We can do this in the period of less activity in 
the
> site. 
>     This a safest solution because we will be running all the SELECT's
> against the duplicates and there are no risks to cause problems in the 
site
> but we will
>     have the inconvenience that we can not get latest figures only the
> previous days.

Sounds like a nasty kludge to me. I really wouldn't be keen on it at all.

> 
> 2- Use InnoDB instead of MyISAM, but we are not sure is this will be 
good
> enough

It strikes me that this is what InnoDB is designed for. In your situation, 
this is the first thing I would try.

> 3- Replication of these tables to another server ??

This would also work: it just uses more resources (another computer of 
nearly equal power) and more development time (scripts to stop and start 
replication. If you can borrow the replicated machine, you could test the 
InnoDB solution on that: change the tables on the replicated server to 
InnoDB and try running your report generator on that. If the replications 
doesn't fall behind, the main server will probably handle it.

        Alec


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to