MySQL/Gestión/Concurrencia

De Wikilibros, la colección de libros de texto de contenido libre.

La concurrencia en un SGBD es la característica que permite que se puedan ejecutar a la vez varias sentencias sobre la base de datos. Si esto no tuviese un control se podrían obtener resultados que carezcan de integridad. Los mecanismos de control de concurrencia principales son:

  • Optimista: Se asume que las operaciones de la transacción se realizarán correctamente y de que no se van a romper las normas marcadas, retrasando la comprobación de si hubo algún problema o no hasta el final. Si se detecta un problema en la comprobación, la transacción se aborta y se reinicia la transacción.
  • Pesimista: Se bloquea cualquier operación de una transacción que tenga alguna posibilidad de que produzca una violación de las reglas hasta que esta posibilidad desaparezca.
  • Semi-optimista: Se utiliza el mecanismo pesimista para operaciones que pueden causar claramente una violación de una norma, pero no se bloquean otras situaciones.

Los distintos mecanismos de control proporcionaran diferentes rendimientos y serán mas adecuados o no dependiendo del tipo de transacciones que se manejen.