PHP - Optimizacion de codigo

 
Vista:
sin imagen de perfil
Val: 12
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Optimizacion de codigo

Publicado por Juan (7 intervenciones) el 08/05/2019 14:55:48
Buenas a todos, estoy actualmente llevando el mantenimiento de un sitio web desarrollado por mi el cual actualmente manejo una tabla que ronda alrededor de 3000 registros.

Ultimamente me esta dando un pequeño problema que es al hacer un update y filtrar x registro de esa tabla tarda su tiempo. quisiera saber si me podrian dar un consejo para poder mejorar mi codigo.

Actualmente la consulta las manejo desde PHP.

1
2
3
MySQL::Query('UPDATE radios_move SET op_dev = "'. $op_dev .'",
	  time_dev = "'. time() .'",
	  nov = "'. $nov .'" WHERE serie_radio = "'. $serie .'" AND time_dev = "0"');

Desde ya muchas gracias, Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Optimizacion de codigo

Publicado por Mauro (1036 intervenciones) el 08/05/2019 16:17:23
¿De cuánto tiempo estamos hablando?

A priori la consulta no se ve mal... ¿la probaste directo contra la base de datos?

Habría que mirar lo que se hace dentro de MySQL::Query... ¿qué librería estás usando?

Otra cosa que podrías probar es poner un índice por serie_radio y time_dev... aunque con 3000 registros no deberías tener problemas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Optimizacion de codigo

Publicado por Juan (7 intervenciones) el 08/05/2019 17:49:52
Hay vi que si pudiera obviar que en el UPDATE trabajara la columna firmas que es la que mas contenido tiene me reduciria totalmente el tiempo pero tengo la total ignorancia de como podria hacerlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Optimizacion de codigo

Publicado por Mauro (1036 intervenciones) el 09/05/2019 17:42:47
¿Qué es la columna "firmas"?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Optimizacion de codigo

Publicado por Juan (7 intervenciones) el 28/05/2019 14:34:48
Son firmas digitales que se guardan en formato BLOB
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Optimizacion de codigo

Publicado por Mauro (1036 intervenciones) el 28/05/2019 22:14:37
Definitivamente ahí está el tema. En este caso yo creo que lo mejor que puedes hacer es hacer la consulta con todos los campos menos el blob y sólo traer los blobs de los registros que necesites
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Javier
Val: 116
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Optimizacion de codigo

Publicado por Javier (42 intervenciones) el 28/05/2019 18:11:37
3K registros me parecen muy pocos, si puedes echarle mano al servidor te recomiendo optimizar por igual manera MySQL, ahora bien si andas con tiempo te recomiendo migrar a MariaDB. Aumentar el pool, cambiar el thread size, cache etc. pero si tu hardware es limitado te toca reestructurar tu base, cambiando los BLOBS e ir mejorando los indices.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar