Evitar Concurrencia

04/09/2003 - 13:05 por Daniel Álvarez | Informe spam
Hola foro:

Estoy desarrollando un sistema de reservas y quiero eitar la
concurrencia, es decir que dos usuarios realicen al mismo tiempo la misma
accion (en este caso ir modificando valores a traves de un recordset
abierto). He estado mirando las sugerencias de bloqueo pero no me queda nada
claro. En teoria supongo que debo crear un semaforo, pero eso si que se me
escapa por completo. ¿Alguna idea o experiencia?

Gracias de antemano.

Daniel Álvarez

Por favor, deja todos tus mensajes en
el foro, no uses el correo electrónico.

Si quieres contactar, no olvides quitar NOSPAM

Preguntas similare

Leer las respuestas

#1 Jhonny Vargas P.
04/09/2003 - 15:37 | Informe spam
Efectivamente, mejor utiliza un sistema de semaforos o de estados... en
donde debes asignar a los registro una serie de estados, como por ejemplo:
0 = Sin Reserva
1 = En periodo de Reserva
2 = En reserva
3 = Reservados

Bueno es una idea, pueden ser menos o mas dependiendo de lo que necesites...
mejor no utilizar sistemas de bloqueos, ya que estás utilizando recursos del
servidor, que tarde o temprano, te afectarán... (te lo digo por
experiencia).


Saludos,
Jhonny Vargas P. [MS MVP-ASP]
Santiago de Chile



"Daniel Álvarez" wrote in message
news:#
Hola foro:

Estoy desarrollando un sistema de reservas y quiero eitar la
concurrencia, es decir que dos usuarios realicen al mismo tiempo la misma
accion (en este caso ir modificando valores a traves de un recordset
abierto). He estado mirando las sugerencias de bloqueo pero no me queda


nada
claro. En teoria supongo que debo crear un semaforo, pero eso si que se me
escapa por completo. ¿Alguna idea o experiencia?

Gracias de antemano.

Daniel Álvarez

Por favor, deja todos tus mensajes en
el foro, no uses el correo electrónico.

Si quieres contactar, no olvides quitar NOSPAM




Respuesta Responder a este mensaje
#2 Insomnia
05/09/2003 - 01:41 | Informe spam
puedes explicar mejor esto:

Bueno es una idea, pueden ser menos o mas >dependiendo de lo que


necesites...
mejor no utilizar sistemas de bloqueos, ya que estás >utilizando recursos


del
servidor, que tarde o temprano, te afectarán... (te lo digo >por
experiencia).


??


graciasss

"Jhonny Vargas P." escribió en el mensaje
news:
Efectivamente, mejor utiliza un sistema de semaforos o de estados... en
donde debes asignar a los registro una serie de estados, como por ejemplo:
0 = Sin Reserva
1 = En periodo de Reserva
2 = En reserva
3 = Reservados

Bueno es una idea, pueden ser menos o mas dependiendo de lo que


necesites...
mejor no utilizar sistemas de bloqueos, ya que estás utilizando recursos


del
servidor, que tarde o temprano, te afectarán... (te lo digo por
experiencia).


Saludos,
Jhonny Vargas P. [MS MVP-ASP]
Santiago de Chile



"Daniel Álvarez" wrote in message
news:#
> Hola foro:
>
> Estoy desarrollando un sistema de reservas y quiero eitar la
> concurrencia, es decir que dos usuarios realicen al mismo tiempo la


misma
> accion (en este caso ir modificando valores a traves de un recordset
> abierto). He estado mirando las sugerencias de bloqueo pero no me queda
nada
> claro. En teoria supongo que debo crear un semaforo, pero eso si que se


me
> escapa por completo. ¿Alguna idea o experiencia?
>
> Gracias de antemano.
>
> Daniel Álvarez
>
> Por favor, deja todos tus mensajes en
> el foro, no uses el correo electrónico.
>
> Si quieres contactar, no olvides quitar NOSPAM
>
>
>
>


Respuesta Responder a este mensaje
#3 Daniel Álvarez
05/09/2003 - 07:56 | Informe spam
Gracias Jhonny, si tu lo dices entonces paso de los bloqueos y opto por los
semaforos.

Daniel Álvarez

Por favor, deja todos tus mensajes en
el foro, no uses el correo electrónico.

Si quieres contactar, no olvides quitar NOSPAM



"Jhonny Vargas P." escribió en el mensaje
news:
Efectivamente, mejor utiliza un sistema de semaforos o de estados... en
donde debes asignar a los registro una serie de estados, como por ejemplo:
0 = Sin Reserva
1 = En periodo de Reserva
2 = En reserva
3 = Reservados

Bueno es una idea, pueden ser menos o mas dependiendo de lo que


necesites...
mejor no utilizar sistemas de bloqueos, ya que estás utilizando recursos


del
servidor, que tarde o temprano, te afectarán... (te lo digo por
experiencia).


Saludos,
Jhonny Vargas P. [MS MVP-ASP]
Santiago de Chile



"Daniel Álvarez" wrote in message
news:#
> Hola foro:
>
> Estoy desarrollando un sistema de reservas y quiero eitar la
> concurrencia, es decir que dos usuarios realicen al mismo tiempo la


misma
> accion (en este caso ir modificando valores a traves de un recordset
> abierto). He estado mirando las sugerencias de bloqueo pero no me queda
nada
> claro. En teoria supongo que debo crear un semaforo, pero eso si que se


me
> escapa por completo. ¿Alguna idea o experiencia?
>
> Gracias de antemano.
>
> Daniel Álvarez
>
> Por favor, deja todos tus mensajes en
> el foro, no uses el correo electrónico.
>
> Si quieres contactar, no olvides quitar NOSPAM
>
>
>
>


Respuesta Responder a este mensaje
#4 Jhonny Vargas P.
05/09/2003 - 15:37 | Informe spam
Si comienzas a bloquear tablas, ya sea en tus procedimientos almacenados y
que al momento de terminar las libere, cuando hay muchos usuarios
concurrentes... cada vez te empiezas a "a pisar la cola" es decir, el
servidor comienza a recibir una serie de procesos (por cada usuario), los
deja en espera hasta que termine el que lo tiene ocupado... La mayoría de
las veces, no solamente de un parte sacamos datos de una tabla, sino por el
contrario, de muchas páginas o procesos (distintos al de ejecución) la
pueden utilizar. Por lo tanto de apoco, comienzas a colapsar el servidor..

Las recomendaciones que les puedo dar, es evitar el uso de bloqueos de las
tablas, evitar el uso de cursor (al menos que sean solo de lecturas), en las
querys de SQL Server, específicamente en los select utilizar el NOLOCK por
cada tabla, ejemplo:

Select Campo1, Campo2, Campo3 From Tabla (NOLOCK) Where Condicion='algo'

También evitar el uso de "*" en las consultas y colocar los nombres de cada
uno de los campos afectos a las tablas, esto ultimo no tiene nada que ver,
pero le da un mejor rendimiento a tus consultas.

Espero que se me haya entendido lo que te acabo de explicar

Saludos,
Jhonny Vargas P. [MS MVP-ASP]
Santiago de Chile


"Insomnia" wrote in message
news:v4Q5b.1959826$
puedes explicar mejor esto:

>Bueno es una idea, pueden ser menos o mas >dependiendo de lo que
necesites...
>mejor no utilizar sistemas de bloqueos, ya que estás >utilizando recursos
del
>servidor, que tarde o temprano, te afectarán... (te lo digo >por
>experiencia).
??


graciasss

"Jhonny Vargas P." escribió en el


mensaje
news:
> Efectivamente, mejor utiliza un sistema de semaforos o de estados... en
> donde debes asignar a los registro una serie de estados, como por


ejemplo:
> 0 = Sin Reserva
> 1 = En periodo de Reserva
> 2 = En reserva
> 3 = Reservados
>
> Bueno es una idea, pueden ser menos o mas dependiendo de lo que
necesites...
> mejor no utilizar sistemas de bloqueos, ya que estás utilizando recursos
del
> servidor, que tarde o temprano, te afectarán... (te lo digo por
> experiencia).
>
>
> Saludos,
> Jhonny Vargas P. [MS MVP-ASP]
> Santiago de Chile
>
>
>
> "Daniel Álvarez" wrote in message
> news:#
> > Hola foro:
> >
> > Estoy desarrollando un sistema de reservas y quiero eitar la
> > concurrencia, es decir que dos usuarios realicen al mismo tiempo la
misma
> > accion (en este caso ir modificando valores a traves de un recordset
> > abierto). He estado mirando las sugerencias de bloqueo pero no me


queda
> nada
> > claro. En teoria supongo que debo crear un semaforo, pero eso si que


se
me
> > escapa por completo. ¿Alguna idea o experiencia?
> >
> > Gracias de antemano.
> >
> > Daniel Álvarez
> >
> > Por favor, deja todos tus mensajes en
> > el foro, no uses el correo electrónico.
> >
> > Si quieres contactar, no olvides quitar NOSPAM
> >
> >
> >
> >
>
>


Respuesta Responder a este mensaje
#5 Insomnia
05/09/2003 - 18:11 | Informe spam
el no bloqueo de las consultas permite q se realicen más de una al mismo
tiempo sobre la tabla d la bbdd?
en lugar de crear digamos... una cola de espera...?


"Jhonny Vargas P." escribió en el mensaje
news:
Si comienzas a bloquear tablas, ya sea en tus procedimientos almacenados y
que al momento de terminar las libere, cuando hay muchos usuarios
concurrentes... cada vez te empiezas a "a pisar la cola" es decir, el
servidor comienza a recibir una serie de procesos (por cada usuario), los
deja en espera hasta que termine el que lo tiene ocupado... La mayoría de
las veces, no solamente de un parte sacamos datos de una tabla, sino por


el
contrario, de muchas páginas o procesos (distintos al de ejecución) la
pueden utilizar. Por lo tanto de apoco, comienzas a colapsar el servidor..

Las recomendaciones que les puedo dar, es evitar el uso de bloqueos de las
tablas, evitar el uso de cursor (al menos que sean solo de lecturas), en


las
querys de SQL Server, específicamente en los select utilizar el NOLOCK por
cada tabla, ejemplo:

Select Campo1, Campo2, Campo3 From Tabla (NOLOCK) Where Condicion='algo'

También evitar el uso de "*" en las consultas y colocar los nombres de


cada
uno de los campos afectos a las tablas, esto ultimo no tiene nada que ver,
pero le da un mejor rendimiento a tus consultas.

Espero que se me haya entendido lo que te acabo de explicar

Saludos,
Jhonny Vargas P. [MS MVP-ASP]
Santiago de Chile


"Insomnia" wrote in message
news:v4Q5b.1959826$
> puedes explicar mejor esto:
>
> >Bueno es una idea, pueden ser menos o mas >dependiendo de lo que
> necesites...
> >mejor no utilizar sistemas de bloqueos, ya que estás >utilizando


recursos
> del
> >servidor, que tarde o temprano, te afectarán... (te lo digo >por
> >experiencia).
> ??
>
>
> graciasss
>
> "Jhonny Vargas P." escribió en el
mensaje
> news:
> > Efectivamente, mejor utiliza un sistema de semaforos o de estados...


en
> > donde debes asignar a los registro una serie de estados, como por
ejemplo:
> > 0 = Sin Reserva
> > 1 = En periodo de Reserva
> > 2 = En reserva
> > 3 = Reservados
> >
> > Bueno es una idea, pueden ser menos o mas dependiendo de lo que
> necesites...
> > mejor no utilizar sistemas de bloqueos, ya que estás utilizando


recursos
> del
> > servidor, que tarde o temprano, te afectarán... (te lo digo por
> > experiencia).
> >
> >
> > Saludos,
> > Jhonny Vargas P. [MS MVP-ASP]
> > Santiago de Chile
> >
> >
> >
> > "Daniel Álvarez" wrote in message
> > news:#
> > > Hola foro:
> > >
> > > Estoy desarrollando un sistema de reservas y quiero eitar la
> > > concurrencia, es decir que dos usuarios realicen al mismo tiempo la
> misma
> > > accion (en este caso ir modificando valores a traves de un recordset
> > > abierto). He estado mirando las sugerencias de bloqueo pero no me
queda
> > nada
> > > claro. En teoria supongo que debo crear un semaforo, pero eso si que
se
> me
> > > escapa por completo. ¿Alguna idea o experiencia?
> > >
> > > Gracias de antemano.
> > >
> > > Daniel Álvarez
> > >
> > > Por favor, deja todos tus mensajes en
> > > el foro, no uses el correo electrónico.
> > >
> > > Si quieres contactar, no olvides quitar NOSPAM
> > >
> > >
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida