No le des demasiada importancia a los porcentajes. Fijate si dice table scan o index scan. Usa el asistente que te da sugerencias de indices. Fijate si podes cambiar el orden en que se hacen las actualizaciones. Fijate si en lugar de hacer select .... into #Tmp1.... from para crear tablas temporales no haces creat table #Tmp1 insert .....Select.
Saludos On 11/30/06, Esteban Grinberg <[EMAIL PROTECTED]> wrote:
Estuve revisando los indices y poniendo donde hacia falta para reducir los SCAN. Tuve un buen resultado, reduje en aproximadamente un 90% los deadlocks. Me falta descubrir donde esta 10% faltante. Ahora mi pregunta es la siguiente, viendo el plan de ejecución, veo que se eliminaron los table scan y ahora busca por indice, sin embargo me dice que su costo es de 600% en algunas instrucciones y en otros lugares, me dice 0%. Que significa este porcentaje y tengo que preocuparme si aparece en 600%?? Gracias! -----Mensaje original----- De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Jose Mariano Alvarez Enviado el: Jueves, 30 de Noviembre de 2006 11:04 Para: dbms List Member Asunto: [dbms] deadlock Eso es porque evistaste el SCAN que bloqueaba toda o parte de la tabla que justamente tenia tomada otro proceso !!!!!!!!!!!! Saludos -- -------------------------------- Atte. Ing. Jose Mariano Alvarez On 11/30/06, Pablo A. Allois <[EMAIL PROTECTED]> wrote: > Una de las situaciones en las que encontre deadlock ... Se daba porque los > updates demoraban dos segundos ... Y cuando tenia concurrencia ... Uno de > los UPDATES moria por deadlock. > > Eso lo encontre con el profiler, y la solucion fue UTILIZAR UN INDICE. > > > > -----Mensaje original----- > De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Jose Mariano > Alvarez > Enviado el: Miércoles, 29 de Noviembre de 2006 05:21 p.m. > Para: dbms List Member > Asunto: [dbms] deadlock > > Aunque compres un servidor mas potente el problema va a seguir existiendo. > El SQL detecta el deadlock y mata al proceso que menos trabajo hizo a menos > que otro de los procesos se proponga como victima del deadlock. > > Atrapa el error y relanzalo. > > Igualmente el problema se debe a esperas cruzadas de recursos que estan > bloqueados por el otro proceso. > > Deberias cambiar la programacion del mismo. > > Tenes cursores y de que tipo ? > > Saludos > -- > -------------------------------- > Atte. > Ing. Jose Mariano Alvarez > > > > On 11/29/06, Esteban Grinberg <[EMAIL PROTECTED]> wrote: > > > > > > > > Gente, estoy teniendo un problema con el SQLServer 2000. Tenemos un > proceso > > que escribe consulta y escribe en varias tablas, tarda aproximadamente > unos > > 20 segundos. El tema que ahora que lo subimos a producción, estamos > teniendo > > muchas consultas y de vez en cuando el SQL me tira el siguiente error: > > > > > > > > "Transaction (Process ID 76) was deadlocked on lock resources with another > > process and has been chosen as the deadlock victim. Rerun the transaction" > > > > > > > > Mas allá de comprar un servidor mas potente, alguien tiene alguna > sugerencia > > para evitar este error o aunque sea, disminuir su frecuencia? > > > > > > > > Saludos, > > > > Esteban > > >
-- -------------------------------- Atte. Ing. Jose Mariano Alvarez
