Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Inserciones multiples a una base de datos (https://www.clubdelphi.com/foros/showthread.php?t=48058)

sarroyab 14-09-2007 07:26:43

Inserciones multiples a una base de datos
 
Estoy desarrollando un sistema multi-usuario que tiene en un servidor la base y a ella tienen acceso muchas maquinas para insertar y consultar informacion.....
Necesito saber cual es la tecnica para que no haya conflictos al momento de insertar, ya que puede ocurrir que al mismo tiempo (Desde maquinas diferentes) se intente insertar

El motor de base es mysql o sqlServer, lenguajes c# o java

Gracias de antemano
ATT
Stalin

Nota: por ahi me han dicho que se hace inhabilitando tablas en el momento de ejecutar una transaccion de insercion, pero no se en donde buscar informacion EN ESPAÑOL, recomendable pero si esta en english no importa, de eso

kuan-yiu 14-09-2007 09:52:29

Conflictos siempre va a haberlos, es casi inevitable. Lo que tienes que hacer es definir una política de bloqueos adecuada al uso que le darás a la BD... y seguramente no acertarás a la primera.
Si puedes tener muchas modificaciones concurrentes bloquear la tabla entera con cada una de ellas puede resultar costoso en tiempo, pero bloquear únicamente a nivel de tupla es algo que no se puede hacer en todas las BD (y también es costoso pero de otro modo).

Toda la documentación que tengo de MySql es en inglés y sqlServer jamás lo he usado.

Neftali [Germán.Estévez] 14-09-2007 10:56:50

Estoy de acuerdo con lo que te han dicho. No creo que bloquear la tabla sea una buena solución.
En cuanto a las inserciones, deberías poder solucionar los problemas utilizando transacciones.
En cuanto a las consultas, si las transacciones están correctas, el énico problema que te queda es seleciconar el tipo de bloqueo que quieres aplicar (que no es poco). Mi opinión (muy personal) es que cuanto mayor es el número de usuarios que acceden, menos debe ser el número de bloqueos (es decir hacer los mínimos posibles, los imprescindibles), porque si no te puedes encontrar con que los usuarios se bloquean a otros de forma muy frecuente y la aplicación se vuelva impracticable.


La franja horaria es GMT +2. Ahora son las 23:45:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi