Lentitud SP

25/08/2003 - 17:59 por Claudia Patricia | Informe spam
Hola a todos

Tenemos un aplicativo que tiene un módulo que atiende
cajas y hoy día se esta presentando filas de público
demasiado largas debido a la lentitud del sistema.
Al analizar el SP más importante encontramos que tiene
1360 líneas de código (varios cursores pequeños, updates
de podos registros, selects , etc) y en él se abre una
transacción en la línea nro 150 y se realiza commit en la
linea 1320.


Algo que me llamó la atención es que alo largo del sp se
encuentran varios checkpoint inmersos en la transacción.

Hoy día estamos teniendo muchos problemas de bloqueo y
concurrencia para estos usuarios, además de la lentitud.

Les pido el favor me den su concepto acerca del impacto de
estos checkpoint dentro de la transacción y si esto puede
afectar de alguna manera el rendimiento y manejo de la
concurrencia.

(El código del SP no lo puedo publicar debido a que es
propiedad intelectual del desarrollador del aplicativo)
Mil gracias

Preguntas similare

Leer las respuestas

#1 Claudia Patricia
25/08/2003 - 20:32 | Informe spam
Si emilio

Por ejemplo

Begin tran XXXXX
.
.
.
.
.
Select a, b, c from tabla
update bla bla
delete bla bla
update bla bla
Checkpoint
.
.
.
.
Select a, b, c from tabla
update bla bla
delete bla bla
update bla bla
checkpoint
.
.
.
commit tran

En las 1350 lineas de código hay 5 Checkpoint metidos
dentro de la transaccion.

Gracias Emilio
Claudia,

los bloqueos son una de las principales causas de merma


de performance,
junto con los diseños deficientes.
Deberias hacer un buen analisis de eso o mejor dicho,


decirle al propietario
intelectual de ese codigo, que lo haga el.

Con respecto a lo que comentas, no termino de entenderte:


hay checkpoints o
savepoints en el script ?

Saludos !

Emilio Boucau
Microsoft MVP SQL Server
http://www.portalsql.com
PASS Spanish Group
http://www.sqlpass.org

Buenos Aires - Argentina


.

Respuesta Responder a este mensaje
#2 Emilio Boucau
26/08/2003 - 15:36 | Informe spam
Claudia,

te hago un comentario: con el hecho de emplear Checkpoint en una transaccion
se 'intenta' refrescar los cambios hechos en el proceso en la BBDD, pero
como la transaccion aun no fue confirmada ni cancela, no hay nada que
refrescar. Estan totalmente de mas. Yo te recomiendo que los anules con una
marca de comentario y recompiles el stored. No te puedo asegurar que eso
quite los problemas, pero no deberian estar alli a menos que (como no podes
poner todo el codigo) tengan una razon valedera.

Saludos !

Emilio Boucau
Microsoft MVP SQL Server
http://www.portalsql.com
PASS Spanish Group
http://www.sqlpass.org

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