Paul, Thanks for your reply! I have tried using optimize while the table was "live". However, in the two instances that I have attempted, it generated an error, and the table could no longer be read. I had to delete the database and rebuild the table. Can table size be an issue here? I don't remember the particular tablesize at that time, but it could easily get to be around 1 gig or more.
Any suggestions? Your friendly neighborhood SA, phiLLip Paul DuBois <[EMAIL PROTECTED]> 11/03/2005 12:11 AM To [EMAIL PROTECTED], mysql@lists.mysql.com cc Subject Re: optimize table on live database At 14:08 -0500 11/2/05, [EMAIL PROTECTED] wrote: >Hello, > >I've been looking for information related to best practice on how to >OPTIMIZE TABLE <table name> with out taking the database offline. I >understand that it is not good to run an optimize while the database is >being used. So what is a good way of handling this? > >In my particular application, there are constant inserts going on, and I'm >doing a delete on older records, and then optimize the table. It's >important to not lose any of those inserts, however I realize that may not >be possible, so it is acceptable to loose some. > > >The only methods I've thought of are: > >1. revoke the user's insert permission, then optimize the table, and then >grant the permission's back. >2. Rename the table, then optimize the table, and rename it back to the >original >3. stop mysql, use myisamchk to optimize the table, then start mysql > >Is there a better way? You don't have to do any of that. OPTIMIZE TABLE will block other clients from modifying the table while it runs. -- Paul DuBois, MySQL Documentation Team Madison, Wisconsin, USA MySQL AB, www.mysql.com -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]