Tengo una tabla CurrentStatus
en mi base de datos (base de datos de suscripción en una duplicación de mezcla) Las columnas son StatusID {Primary Key + Clustered Index}, StatusName, StatusDate, UserID,CreatedDate, ModifiedDate, ModifiedBy, AllowDelete,AllowUpdate
simple consulta de actualización está tomando demasiado tiempo
CurrentStatus tabla como 26000 filas
actualizaciones y borrados en esta tabla son De repente, toma demasiado tiempo, por ejemplo, 1 minuto 30 segundos o incluso 5 minutos.
La consulta siguiente lleva más de un minuto en ejecutarse.
update StatusMaster set StatusName='OK' where StatusID = 22
Había previamente 5 índices en la tabla (incluso entonces la consulta utilizada para ejecutar rápida). Ahora bien, como la actualización/consultas de eliminación no se están ejecutando, he eliminado todos los índices y se mantiene sólo dos índices 1) Índice agrupado en StatusID 2) Índice de replicación en la columna rowguid que es un índice único no agrupado creado por la replicación de forma automática.
Cuando realizo una copia de seguridad y restauro la base de datos, las consultas en la misma tabla funcionan bien.
Una cosa más es que tengo consultas complejas que se ejecutan cada 2 minutos desde alrededor de 20 máquinas en el servidor.
¿Qué causa que estas consultas consuman tanto tiempo para ejecutarse?
es la replicación ejecutándose cuando realizó estas pruebas? Si el DB es un suscriptor, en realidad no debería eliminar \ actualizar sus datos, ¿verdad? – Diego
No publique en MAYÚSCULAS. Es grosero, y parece que estás "gritando". –
@Diego sí la replicación se está ejecutando + su duplicación de la fusión así que insertar la actualización puede funcionar en cualquiera de suscriptores y editores – Thakur