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

Control concurrencia.

Estas en el tema de Control concurrencia. en el foro de Mysql en Foros del Web. Hola, voy a empezar un nuevo proyecto web basado en PHP y MySQL (me gustaria hacerlo sobre algun framework MVC pero al ser aun novato ...
  #1 (permalink)  
Antiguo 17/11/2011, 06:16
 
Fecha de Ingreso: septiembre-2010
Mensajes: 79
Antigüedad: 13 años, 7 meses
Puntos: 1
Control concurrencia.

Hola, voy a empezar un nuevo proyecto web basado en PHP y MySQL (me gustaria hacerlo sobre algun framework MVC pero al ser aun novato en este lenguaje no me aclaro mucho con las instalaciones y tal).

Una cuestión que lleva varios dias rondandome la cabeza es si será necesario llevar un control en el acceso a bbdd ya que es posible que si la web empieza a funcionar bien tenga que realizar muchos accesos a bbdd.

Saben si las bbdd sobre mySQL controlan por si mismas el acceso concurrente mediante las transacciones o debo implementarlo en mi código??

Gracias de antemano.
Espero vuestras opiniones, un saludooo!!!
  #2 (permalink)  
Antiguo 17/11/2011, 06:34
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Control concurrencia.

Vos con acceso te referis a la conexion a la base de datos? o a cada consulta que se realize? ejemplo que en caso de un update haga un lock del registro?
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 17/11/2011, 06:41
 
Fecha de Ingreso: septiembre-2010
Mensajes: 79
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Control concurrencia.

Hola LinuxZero! Me refiero a cada consulta que se realice..

Gracias por contestar
  #4 (permalink)  
Antiguo 17/11/2011, 06:51
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Control concurrencia.

Según tengo entendido, utilizando un ORM como nó, en ambas ocaciones tenes que hacer el LOCK TABLES por cada transaccion, no es algo automático, lo mismo pasa con el SET AUTOCOMIT, debes especificarlo en cada transacción, uses un framework con un orm incluido como no, creo que de esa no te salvás.
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #5 (permalink)  
Antiguo 17/11/2011, 07:03
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Control concurrencia.

Si se van a realizar INSERT simultaneamente, seria necesario usar transacciones, a no ser de que uses llaves autoincrementales....pero pues depende del caso, creo que la transaccion seria para insercion a varias tablas..
  #6 (permalink)  
Antiguo 17/11/2011, 08:37
 
Fecha de Ingreso: septiembre-2010
Mensajes: 79
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Control concurrencia.

A ver una duda... Si dos clientes abren la web a la vez i realizan un insert en la misma tabla a la vez ( o un select que sera mas probable q un insert).. En este caso hay q hacer control de concurrencia???

Si es asi?? Las transacciones donde se configuran? En la bd o en el programa??

Gracias por comentar a todos. :)
  #7 (permalink)  
Antiguo 17/11/2011, 08:41
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Control concurrencia.

En el unico caso de que no haya problema es que tengas un autoincrement en el campo id de la tabla, ahora si el id no es autoincrement y lo tenes que tomar el anterior y sumarle 1, si te puede traer problemas y seguramente tengas que hacer un control de concurrencia..
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com

Etiquetas: control
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 08:36.