sql >> Base de Datos >  >> RDS >> Mysql

niveles de aislamiento y bloqueo de inno db

InnoDB establece tipos específicos de bloqueos de la siguiente manera.

  • SELECT... FROM es una lectura consistente, lee una instantánea de la base de datos y no establece bloqueos a menos que el nivel de aislamiento de la transacción se establezca en SERIALIZABLE. Para el nivel SERIALIZABLE, la búsqueda establece bloqueos compartidos de la siguiente tecla en los registros de índice que encuentra.

  • SELECCIONAR... DESDE... BLOQUEAR EN MODO COMPARTIR establece bloqueos compartidos de la siguiente tecla en todos los registros de índice que encuentra la búsqueda.

  • Para los registros de índice que encuentra la búsqueda, SELECCIONAR... DESDE... PARA ACTUALIZAR bloquea otras sesiones para que no hagan SELECCIONAR... DESDE... BLOQUEAR EN MODO COMPARTIDO o leer en ciertos niveles de aislamiento de transacciones. Las lecturas consistentes ignorarán cualquier bloqueo establecido en los registros que existen en la vista de lectura.

  • ACTUALIZAR... DONDE... establece un bloqueo de tecla siguiente exclusivo en cada registro que encuentra la búsqueda.

  • ELIMINAR DE... DONDE... establece un bloqueo de tecla siguiente exclusivo en cada registro que encuentra la búsqueda.

  • INSERT establece un bloqueo exclusivo en la fila insertada. Este bloqueo es un bloqueo de registro de índice, no un bloqueo de tecla siguiente (es decir, no hay bloqueo de espacio) y no impide que otras sesiones se inserten en el espacio antes de la fila insertada.

InnoDB tiene varios tipos de bloqueos a nivel de registro:

  • Bloqueo de registro:este es un bloqueo en un registro de índice.

  • Bloqueo de espacio:Este es un bloqueo en un espacio entre registros de índice, o un bloqueo en el espacio antes del primero o después del último registro de índice.

  • Bloqueo de tecla siguiente:esta es una combinación de un bloqueo de registro en el registro de índice y un bloqueo de espacio en el espacio antes del registro de índice.

Ver más:

Cómo evitar el problema fantasma mediante el bloqueo de la siguiente tecla

Evitar interbloqueos