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]

Reply via email to