Зависи дали вашите users
таблицата е MyISAM или InnoDB.
Ако това е MyISAM, едното или другото изявление се заключва в таблицата и няма какво да направите, за да контролирате това, освен заключване на таблици себе си.
Ако е InnoDB, той е базиран на транзакции. Архитектурата с множество версии позволява едновременен достъп до таблицата и SELECT
ще види броя на редовете към момента, в който транзакцията е започнала. Ако има INSERT
протичащо едновременно, SELECT
ще види 0 реда. Всъщност можете дори да видите 0 реда чрез SELECT
се изпълнява няколко секунди по-късно, ако транзакцията за INSERT
все още не е поел ангажимент.
Няма начин двете транзакции да започнат наистина едновременно. Транзакциите гарантират, че имат някакъв ред.