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.)
Subject
Views
Written By
Posted
2883
January 05, 2012 11:19AM
Re: MyISAM concurrent table access
2068
January 07, 2012 01:33AM
1787
January 10, 2012 09:25AM
2113
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.