Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consejo. ¿Qué hago abri y cierro base de datos o dejo abierta todo el día?

Estas en el tema de Consejo. ¿Qué hago abri y cierro base de datos o dejo abierta todo el día? en el foro de Mysql en Foros del Web. Hola amigos. Estoy haciendo un programa en Visual Basic.Net que se comunica con una base de datos remota MySQL que tengo en una página web. ...
  #1 (permalink)  
Antiguo 05/09/2014, 13:57
 
Fecha de Ingreso: septiembre-2014
Mensajes: 2
Antigüedad: 9 años, 7 meses
Puntos: 0
Consejo. ¿Qué hago abri y cierro base de datos o dejo abierta todo el día?

Hola amigos.

Estoy haciendo un programa en Visual Basic.Net que se comunica con una base de datos remota MySQL que tengo en una página web. La aplicación es un punto de venta de accesorios de móviles. Cada vez que la dependienta vende un artículo, actualizo la base de datos restando 1 al Stock existente de ese artículo.

El programa en Visual Basic, al arrancar por las mañanas, abre la base de datos y lee el Stock que hay de cada artículo y lo indica para que la dependiente sepa cuanto stock queda de cada artículo. Y cada vez que un cliente entra al comercio y hace una compra, debo restar una unidad del Stock, entonces mi duda es como hacerlo:

1. Por la mañana a las 9 de la mañana abro la base de datos, me conecto y ¿la dejo todo el día abierta? De forma que cada que vez que haya una compra no tengo que volver a abrirla, solo hago un acceso con "Update" y resto "-1" del Stock de ese artículo.

2. Por la mañana abro la Base de Datos, leo el Stock y la cierro. En Visual Basic.Net hay una forma de traerte la base de datos en local y trabajar con sus datos sin estar conectado. Luego al final del día, cuando la dependienta vaya a cerrar el ordenador, justo antes me conecto de nuevo a la Base de Datos, hago un único "Update" y automáticamente se actualiza todos los movimientos que haya hecho durante el día.


¿Cuál sería la mejor forma? A mí me gusta más la primera porque así siempre tengo la Base de Datos actualizada pero,
¿Es incorrecto tener la base de datos todo el día conectada? ¿Puede haber algún problema? ¿algún punto negativo a esta opción?

¿Si elijo la segunda opción, que pasa si justo al final del día cuando voy a ir a actualizar mi Base de Datos, en ese momento me da un error o no puedo conectar...? ¿Pierdo todo?. Por otro lado con esta opción no hago continuos accesos a la Base de Datos, hago solo uno al final.

No sé como debería hacerlo, ¿alguien me puede aconsejar?

Muchas gracias por adelantado.
Un saludo,
  #2 (permalink)  
Antiguo 07/09/2014, 08:28
 
Fecha de Ingreso: abril-2014
Mensajes: 37
Antigüedad: 10 años
Puntos: 2
Respuesta: Consejo. ¿Qué hago abri y cierro base de datos o dejo abierta todo el día?

Buenas, la verdad a mi parecer, las dos formas son válidas, siempre y cuando haya solo una persona interactuando con la base de datos, ya que si hay alguien mas, podria afectar el stock, ya de ahi a cual forma es la más conveniente, depende de la experiencia que se vaya teniendo en el flujo de la información, aunque me inclino por la primera.

Por otro lado, lo que dices que haces multiples conexiones a la base de datos cada vez que necesitas restar un artículo del stock, no sé si .NET te de la opción, pero existen conexiones PERSISTENTES, que simplemente las haces una vez y cada vez que se necesite hacer una nueva operación CRUD, utiliza la conexión establecida con las mismas credenciales.
  #3 (permalink)  
Antiguo 08/09/2014, 15:32
 
Fecha de Ingreso: septiembre-2014
Mensajes: 2
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Consejo. ¿Qué hago abri y cierro base de datos o dejo abierta todo el día?

Gracias Robertty55, miraré lo de las conexiones persistentes. Si elijo la primera opción ¿Crees que no pasa nada si mantengo todo el día la conexión abierta conexión.open()? O debería abrirla y cerrarla cada vez que se haga una compra?

Lo malo de estar abriendo y cerrando es que se ralentiza todo.
Gracias
Saludos,

Etiquetas: abierta, cierro, consejo, sql, todo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:09.