Update con indices ?

23/08/2004 - 18:12 por Carlos | Informe spam
Hola a todos,
Tengo el siguiente problema y quisiera saber si me pueden dar una ayuda.
En una tabla con aproximadamente un millon de registros necesito hacer una
actualizacion de un registro.
El problema es que con el update los tiempos de actualizacion son muy altos
ya que no me permite usar indices, o al menos no se como hacerlo, alguien me
podria aclarar esta duda ?

Muchas Gracias

Preguntas similare

Leer las respuestas

#1 Isaías
23/08/2004 - 18:21 | Informe spam
¿Tienes CREADOS indices?, la regla dice que TODAS LAS
COLUMNAS despues del WHERE, son candidadas a ser indices.
Respuesta Responder a este mensaje
#2 Carlos
23/08/2004 - 18:46 | Informe spam
si , tengo varios indices creados para esa tabla, las columnas que uso en el
where son indices y las uso en el mismo orden que estan en el indice.

"Isaías" escribió en el mensaje
news:baf201c4892d$47f21e80$
¿Tienes CREADOS indices?, la regla dice que TODAS LAS
COLUMNAS despues del WHERE, son candidadas a ser indices.
Respuesta Responder a este mensaje
#3 Developers
23/08/2004 - 19:51 | Informe spam
Estan tratando de decir que usas indices compuestos

De Esta manera:

Update mitabla set campo1=valor1 where Campo1+campo2=dato1+dato2

ó
De esta manera (Indices no Compuestos)

Update mitabla set campo1=valor1 where Campo1=dato1 and campo2=dato2



"Carlos" wrote in message
news:
si , tengo varios indices creados para esa tabla, las columnas que uso en


el
where son indices y las uso en el mismo orden que estan en el indice.

"Isaías" escribió en el mensaje
news:baf201c4892d$47f21e80$
¿Tienes CREADOS indices?, la regla dice que TODAS LAS
COLUMNAS despues del WHERE, son candidadas a ser indices.


Respuesta Responder a este mensaje
#4 Miguel Egea
30/08/2004 - 20:15 | Informe spam
SqlServer usará los índices siempre y cuando piense que le ván a ser útiles.
Un update no debería tardar mucho más que un select con los mismos campos en
tu cláusula where por tnato:

1.- Ejecuta una sentencia select con ese where y mira que tal anda de
rendimiento.
2.- Si anda bien. Revisa triggers y vistas indexadas sobre esa tabla.
3.- si anda mal, acabas de encontrar que tu problema está en como construyes
tu where , lo que te comenta 'developers' es una posible causa, pero hay
otro millón de ellas.

Si no logras dar con ello, no estaría mal que posteases la estructura de las
tablas y el comando que usas, seguramente podamos ayudarte.


-
Miguel Egea Gómez
Microsoft SQL-Server MVP
Webmaster de PortalSql.Com
¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?


"Developers" escribió en el mensaje
news:%
Estan tratando de decir que usas indices compuestos

De Esta manera:

Update mitabla set campo1=valor1 where Campo1+campo2=dato1+dato2

ó
De esta manera (Indices no Compuestos)

Update mitabla set campo1=valor1 where Campo1=dato1 and campo2=dato2



"Carlos" wrote in message
news:
> si , tengo varios indices creados para esa tabla, las columnas que uso


en
el
> where son indices y las uso en el mismo orden que estan en el indice.
>
> "Isaías" escribió en el mensaje
> news:baf201c4892d$47f21e80$
> ¿Tienes CREADOS indices?, la regla dice que TODAS LAS
> COLUMNAS despues del WHERE, son candidadas a ser indices.
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida