FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#17
|
||||
|
||||
Ok. Transacciones es realmente algo simple. Es como tener certeza que el mundo no ha cambiado mientras diste unos pasos mas.
Si tienes un vble:
puedes pensar que se ejecuta todo en el exacto orden que estas leyendo, y que total terminara en 3. Pero en un ambiente paralelo o asincronico y al acceder una variable mutable accesible por MULTIPLES (posibles) PROCESOS:
no puedes presumir que el orden de las acciones es el que estas leyendo en codigo. Porque multiples procesos pueden, en cualquier momento, "cambiar el mundo" bajo tus pies. Asi, que mientras este solamente afectando una sola "variable"
puedes dejarlo en manos del componente / motor. Pero si necesitas mantener la CERTEZA que el mundo no ha cambiado, ten en cuanta que el motor NO PUEDE ASUMIR:
porque totalente pude ser:
asi que para indicarle que un conjunto de instrucciones REALMENTE son secuenciales, debes encapsularlas en una transaccion:
Asi, que si, es necesario usarlo incluso en SELECT, si hay UN CONJUNTO DE SELECTS que logicamente DEBEN LEER SOBRE EL MISMO CONJUNTO DE DATOS. Si no, tendras una "lectura fantasma". Debes leer sobre las propiedades ACID para completar tu entendimiento: https://es.wikipedia.org/wiki/Aislamiento_(ACID)
__________________
El malabarista. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Duda existencial | rm_machado | Tablas planas | 5 | 03-03-2009 06:17:09 |
Ayuda con duda existencial | poliburro | La Taberna | 19 | 30-07-2007 09:30:39 |
Duda existencial | MaMu | OOP | 3 | 27-09-2006 15:37:40 |
duda existencial | nightynvid | La Taberna | 2 | 05-09-2006 14:12:20 |
Duda Existencial (datamodule) | vipernet | Conexión con bases de datos | 5 | 08-06-2006 20:15:30 |
|