Dipende se i tuoi users
la tabella è MyISAM o InnoDB.
Se è MyISAM, una dichiarazione o l'altra bloccano il tavolo e c'è poco che puoi fare per controllarlo, a parte tabelle di blocco te stesso.
Se è InnoDB, è basato sulla transazione. L'architettura multi-versioning consente l'accesso simultaneo alla tabella e al SELECT
vedrà il conteggio delle righe nell'istante in cui è iniziata la transazione. Se è presente un INSERT
proseguendo contemporaneamente, il SELECT
vedrà 0 righe. In effetti potresti persino vedere 0 righe con un SELECT
eseguito alcuni secondi dopo, se la transazione per il INSERT
non si è ancora impegnato.
Non è possibile che le due transazioni inizino davvero contemporaneamente. È garantito che le transazioni abbiano un certo ordine.