Hola gente:
tengo una tabla con unos 27 millones de registros y tengo que hacer
un update muy sencillo pero que al ser tanto el volumen que esta
manejando me llena el log y cancela. El query es algo asi:
Update tabla1
set campo1 = 0
where campo2 = 0
resulta que de estos 27M de registros 26,5 tienen el campo2 en 0 y el
resto no. Esto lo resolví por ahora partiendo este insert en 10 partes
que se ejecutan desde mi aplicación de la siguiente manera:
Update tabla1
set campo1 = 0
where campo2 = 0 and right(campoId,1) = 'n' ( con n entre 0 y 9)
Esto resuelve el problema del llenado del log pero no me gusta, ya de
entrada el right no me deja aprovechar el indice en campoId, la pregunta
es: Conocen una mejor forma de hacer esto?
Gracias de antemano
Dario R. Ayala
darioaya@gmail.com
Desarrollador Microsoft DCE 2005 2 estrellas
Desarrollador Microsoft DCE 3 Estrellas
Leer las respuestas