MySQL - MEJORA DE PROCEDIMIENTOS ALMACENADOS

 
Vista:
sin imagen de perfil

MEJORA DE PROCEDIMIENTOS ALMACENADOS

Publicado por Daniel (2 intervenciones) el 04/07/2017 22:39:53
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*
Tengo 2 campos en mi tabla temporal uno de VAR y uno en blanco de SALDO  . Lo que necesito es sumar o restar el valor de estos campos (ingresos y salidas ) a un valor que obtengo con otra consulta @saldo (ultimosaldo)
*/
 
WHILE(@contador > 0 AND @Arow <= @contador)  DO
      UPDATE t_bincard set  tt_temporal=@saldo + @var:=c_accion where c_nrorow=@Arow;
       set @saldo=@saldo + @var;
       set @Arow=@Arow+1;
 
 END WHILE;
select * from tt_temporal;
 
/*
Ya use cursores y no se siente la mejora ya que recorro cada linea aprox. 120 sec en 2k de registros de mi tabla temporal
Necesito ideas o alguien que ya optimizo algo como esto . Gracias
*/

bincard_ANT
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 Leonardo Daniel A.
Val: 88
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

MEJORA DE PROCEDIMIENTOS ALMACENADOS

Publicado por Leonardo Daniel A. (34 intervenciones) el 05/07/2017 18:27:07
Hola, tanto los SELECTS como los UPDATES y DELETES utilzan los indices para optimizar las operaciones... si no tienes un indice del campo que uses en la clausula WHERE no sera optimizado.. desconozco la estructura de tus tablas... y asi el SP sin el codigo completo es difciil de entender
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: 953
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

MEJORA DE PROCEDIMIENTOS ALMACENADOS

Publicado por leonardo_josue (414 intervenciones) el 05/07/2017 21:44:37
Hola Daniel:

Como comenta el tocayo, el rendimiento de una consulta puede mejorar con el correcto uso de índices, sin embargo, te comento que también puedes mejorar si no usas cursores...

Para algunos casos, en lugar de tener que usar cursores, puedes hacer una consulta que te haga lo mismo de manera simplificada, postea la estructura de tus tablas, pon algunos datos de ejemplo y a partir de esos datos trata de explicar qué es lo que hace el SP y en específico el cursor... de esta manera es posible que podamos indicarte alguna consulta "pura" sin necesidad de usar cursores.

Saludos
Leo.
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