MySQL Forums
Forum List  »  MyISAM

Re: MyISAM concurrent table access
Posted by: Rick James
Date: January 07, 2012 01:33AM

You are talking about 3 things -- which do you want to discuss?
* THD -- an internal structure
* Slaves -- replication architecture
* MyISAM vs InnoDB Engines

MyISAM writes cannot run concurrently with reads -- the whole table is locked.
MyISAM reads can run concurrently on a given table.

There are numerous "mutexes" in MySQL that keep concurrency at a 'safe' level, and (usually) small enough so that the end-user (usually) feels that there is concurrency.

Here is a tricky one:
1. A long-running SELECT starts on a Slave.
2. A write to that table arrives from the Master. It will be blocked, waiting for access to the MyISAM table.
3. Now, subsequent reads cannot start, because they need to wait until the write finishes.

If this does not answer your question, please rephrase it. (And realize that the people watching this forum do not generally know much about the internals.)

Options: ReplyQuote

Written By
January 05, 2012 11:19AM
Re: MyISAM concurrent table access
January 07, 2012 01:33AM
January 11, 2012 10:33AM

Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.