Tengo una tabla en SQL Server 2008 (SP2) que contiene 30 millones de filas, 150GB de tabla, hay un par de columnas int y dos columnas nvarchar (max): una que contiene texto (desde 1 -30000 caracteres) y uno que contiene xml (hasta 100000 caracteres).La actualización de la tabla lleva mucho tiempo
La tabla no tiene claves o índices principales (es una tabla de etapas). Así que estoy ejecutando una consulta:
UPDATE [dbo].[stage_table]
SET [column2] = SUBSTRING([column1], 1, CHARINDEX('.', [column1])-1);
la consulta se ejecuta durante 3 horas (y que todavía no se ha completado), que creo que es demasiado largo. ¿Lo es? Veo que hay una tasa de lectura constante de 5 MB/s y una velocidad de escritura de 10 MB/s en un archivo .mdf.
¿Cómo puedo saber por qué la consulta se está ejecutando durante tanto tiempo? El "servidor" es i7, 24 GB de RAM, discos SATA en RAID 10.
Actualizado:
tabla contiene una columna int, dos (20) columnas nvarchar y dos columnas nvarchar (max). Column1 y Columns2 en la cláusula de actualización anterior son columnas nvarchar (20). Las columnas "grandes" no se actualizan.
¡Muchas gracias!
¿Están las columnas de actualizaciones indexadas? – IamIC