26/05/2014, 05:52
|
| Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años Puntos: 2658 | |
Respuesta: Autoincrement desde múltiples conexiones SQL Hay varias circunstancias donde se pueden generar problemas de acceso concurrente.
Por ejemplo:
- Que se realice un UPDATE en un proceso de varias etapas, donde se realizan consultas previas y de estas dependan posteriores updates. En ese caso podrías estar realizando actualizacioens sobre datos incorrectos si otro usuario lo modificó entremedio del primero y el ultimo paso. La acción sobre una única tabla, es atómico, pero un proceso de N pasos no necesariamente.
- Que tengas varias acciones que dependan del futuro AI, y no quieras o no puedas insertar ese registro antes de que las otras terminen. En ese caso al insertarse finalmente, suvalor puede ser diferente al esperado. Para ese caso se debe hacer una reserva previa del valor futuro.
La primera de las situaciones se suele controlar por transacciones. La segunda requiere cierto tipo de acciones específicas para evitar problemas.
La concurrencia de usuarios trae muchas situaciones complejas que deben resolverse caso por caso. Si bien existen estrategias para eso, cada caso puede requerir cosas diferentes. Hay que analizarlo de a uno.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |