I last used MySQL for something "serious" about 3 years ago. After a particularly bad data-corruption bug bit us, we decided to use Oracle.
Well, for my latest project (packet-sniffer with accounting) I decided to give MySQL another try. Guess what.. 1) INSERT's are still as fast as ever 2) SELECT's are still as fast as ever however... 3) with MyISAM tables, you still get table-level locking, so it's possible to hang a connection if someone is doing a bunch of little inserts and you want to do a single big DELETE or UPDATE 4) using BDB tables, you get page-level locking. What this has meant for me in practice is: basically nothing. It's just that, instead of the connection hanging, it dies with "deadlock detected!" which is an improvement over MyISAM but still insufficient for my needs 5) using InnoDB tables, you get ROW-level locking. Which in theory enables me to do periodic "housecleaning" of the packet-accounting table (which accummulates 3M rows/day) without stopping everything else. *HOWEVER* the execution is still poor: I tried to do my "big DELETE" and it hung MySQL hard. So much for "concurrency" and "enterprise-class.." 6) InnoDB is **SLOW** compared to MyISAM. Translation: you lose the blazing speed of MySQL the minute you want row-level locks or transactions. Better check out PostgreSQL or something better. Because of all these, I went back to the MyISAM tables (I needed performance more than anything) and just did my "housecleaning" in the same function which does inserts (that way, the INSERT and DELETE get serialized, and there are no deadlocks). Oh well.. so I guess MySQL still has a ways to go. --- Orlando Andico <[EMAIL PROTECTED]> Mosaic Communications, Inc. _ Philippine Linux Users Group. Web site and archives at http://plug.linux.org.ph To leave: send "unsubscribe" in the body to [EMAIL PROTECTED] Fully Searchable Archives With Friendly Web Interface at http://marc.free.net.ph To subscribe to the Linux Newbies' List: send "subscribe" in the body to [EMAIL PROTECTED]
