Mejoras posibles de la BD

06/07/2004 - 16:56 por Ian Tanner | Informe spam
Hola,
tengo una base de datos que ha crecido mucho.
Y a horas que hay muchos accesos, la CPU sube mucho y los
bloqueos se disparan.
Normalmente, ejecutando el sp_Lock suelo tener menos de 27
bloqueos. Pero en esos instantes llego a tener más de 3000.

He probado a cambiar los índices pero no he conseguido
mejorarlo.

He pensado en que podía dividir la BD en dos, una para las
insert, delete y updates y otra para las selects
principalmente.

Y que la segunda se actualizara mediante replicación de la
primera.
El problema es que la replicación transaccional requiere
que las tablas tengan un índice único. Hay consultas de
tablas de muchos registros que en cuanto les pongo un
índice único uniqueidentifier con un valor por defecto
newid() se ralentizan muchísimo.

¿Qué solución puedo tomar?

Muchas gracias.
 

Leer las respuestas

#1 Gustavo Larriera [MVP SQL]
06/07/2004 - 17:07 | Informe spam
Una opinión personal: Lo primero que recomendaría es analizar es la lógica
de las aplicaciones que están generando tantos bloqueos. Obviamente allí hay
un problema, y los bloqueos son normalmente responsabilidad de las
aplicaciones.

Sólo mis dos centavos :-)
gux

Gustavo Larriera
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Ian Tanner" wrote in message
news:27eef01c46369$73cfa340$
Hola,
tengo una base de datos que ha crecido mucho.
Y a horas que hay muchos accesos, la CPU sube mucho y los
bloqueos se disparan.
Normalmente, ejecutando el sp_Lock suelo tener menos de 27
bloqueos. Pero en esos instantes llego a tener más de 3000.

He probado a cambiar los índices pero no he conseguido
mejorarlo.

He pensado en que podía dividir la BD en dos, una para las
insert, delete y updates y otra para las selects
principalmente.

Y que la segunda se actualizara mediante replicación de la
primera.
El problema es que la replicación transaccional requiere
que las tablas tengan un índice único. Hay consultas de
tablas de muchos registros que en cuanto les pongo un
índice único uniqueidentifier con un valor por defecto
newid() se ralentizan muchísimo.

¿Qué solución puedo tomar?

Muchas gracias.

Preguntas similares