Localizar y evitar bloqueos mutuos en la base de datos
Prompt que lee un informe de bloqueo mutuo, encuentra el orden de bloqueo en conflicto y propone correcciones duraderas. Cópielo en la herramienta de IA que prefiera, que luego resuelve el bloqueo.
- Tipo
- Prompt
- Nivel
- Intermedio
- Tiempo
- aprox. 15 min
Los resultados dependen de la herramienta, del modelo y de lo que escriba.
Vista previa del resultado
Ejemplo: escrito por nuestra redacción, no es una respuesta real de IA.
Cronología: 1. El proceso A bloquea el pedido 17 y luego quiere la fila de stock 5 2. La petición B bloquea la fila de stock 5 y luego quiere el pedido 17 3. La base de datos cancela B Causa: orden de bloqueo inverso Corrección 1: bloquear siempre primero el pedido y luego el stock Corrección 2: índice en stock.product_id Corrección 3: reintentar B hasta 3 veces con espera aleatoria breve
Rellenar
Lo que escriba se queda en esta ventana del navegador. No guardamos ni enviamos nada.
- PostgreSQL
- MySQL con InnoDB
- SQL Server
- una base de datos gestionada en la nube
- no lo sé
- dos procesos actualizan los mismos pedidos
- con carga alta a fin de mes
- durante una importación nocturna
- cuando varios usuarios guardan a la vez
- tras añadir un índice nuevo
- peticiones canceladas con error
- procesos que reintentan sin fin
- páginas lentas en horas punta
- cambios que faltan
- solo avisos en el log
Su prompt
Ha editado el prompt. Los cambios en los campos de arriba ya no lo sobrescriben.
Esto es una instrucción para una IA, todavía no el resultado.
Dónde funciona este prompt
Estas herramientas de IA encajan bien con este prompt:
Cómo usarlo
- Rellene los campos o toque una sugerencia. No incluya nombres, direcciones ni otros datos personales.
- Copie el prompt terminado en la herramienta de IA que prefiera.
- Pegue el informe del bloqueo del log de la base de datos y las consultas de ambos caminos de código, con los nombres de tabla y sin datos de clientes.
¿Por qué funciona?
Un bloqueo mutuo rara vez es mala suerte. Casi siempre dos caminos de código bloquean lo mismo en distinto orden, y un orden fijo lo elimina para siempre.
Consejos
- Pruebe los cambios en transacciones e índices en una copia de la base de datos antes de publicarlos.