On Thu, Aug 28, 2008 at 10:59 AM, Jose Estuardo Avila
<tachu@stripped> wrote:
> I understand that reads are locked by writes but nowhere does of mention
> that reads also block reads.
How could they not? You can't simultaneously read and write the same
data -- the read would get half-written garbage. Read locks are
shared, but write locks are exclusive, so they have to wait for reads
to finish.
You may find this section on locking helpful:
http://dev.mysql.com/doc/refman/5.0/en/internal-locking.html
It also links to an explanation of concurrent inserts, which is a
specific situation where MyISAM can handle reads and writes
concurrently.
For any application that has a significant percentage of writes or
long-running SELECTs, you will get better concurrency from InnoDB with
its MVCC approach.
- Perrin