Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Bloqueio e simultaneidade com MySQL


Suas tags sugerem que você entenda qual é a resposta - bloqueio. Bancos de dados relacionais (geralmente) implementam as propriedades ACID das transações, que garantem a consistência dos dados. Na prática, isso às vezes é relaxado por motivos de desempenho, mas a maioria dos bancos de dados oferece algum método para atingir esse objetivo.

No MySQL, os mecanismos de bloqueio dependem do mecanismo de armazenamento subjacente. O InnoDB oferece várias opções, descritas na documentação .

Para conseguir esses bloqueios, você basicamente tem duas opções sintáticas com um SELECT :
select . . . for update
select . . . lock in share mode

Observe que essas instruções devem ser usadas em uma transação explícita.