update, no termina nunca

13/03/2007 - 12:33 por Norman | Informe spam
Al hacer un update, no termina nunca, tarda horas..:

update BBDD.dbo.tabla set campoAtabla=CONVERT(DATETIME, '2007-01-24
00:00:00',102) where campoBtaba='310713'

Os comento:
campoAtabla --> Date Type: int
length: 4
Allow nulls: V
campoBtaba --> Date Type: Datetime
length: 8
Es primary Key

Al hacer el anterior unpdate solo lo estoy haciendo para un registro
"Where". no termina nunca, tarda horas. la tabla tiene sobre 800.000
registros

Como lo puedo hacer de alguna otra forma?
Porque tarda tanto?

Gracias

Preguntas similare

Leer las respuestas

#6 Norman
13/03/2007 - 14:14 | Informe spam
Si no pongo el Where a la izquierda, donde lo puedo poner??????

Puedo pasarte mas info:
la tabla solo tiene un indice que es la clave primaria que pongo en el
Where, pero no entiendo por que no lo trata como un indice, donde habria que
ponerlo?

Quitanto la funcion convert va rapido y no tarda



"Maxi" wrote:

Norman, nunca pongas en un where a la izquierda una funcion, eso hara que no
se usen los indices. No es facil ayudarte si no conocemos detalles como
"indices", cantidad de registros, etc.

Yo te recomendaria primero que saques esa funcion convert y revises temas de
indices, tambien es aconsejable que leas los planes de ejecucion, si no los
puedes interpretar puedes ponerlos aqui en formato texto y te ayudamos


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Norman" escribió en el mensaje
news:
>
> Al hacer un update, no termina nunca, tarda horas..:
>
> update BBDD.dbo.tabla set campoAtabla=CONVERT(DATETIME, '2007-01-24
> 00:00:00',102) where campoBtaba='310713'
>
> Os comento:
> campoAtabla --> Date Type: int
> length: 4
> Allow nulls: V
> campoBtaba --> Date Type: Datetime
> length: 8
> Es primary Key
>
> Al hacer el anterior unpdate solo lo estoy haciendo para un registro
> "Where". no termina nunca, tarda horas. la tabla tiene sobre 800.000
> registros
>
> Como lo puedo hacer de alguna otra forma?
> Porque tarda tanto?
>
> Gracias
>
>



Respuesta Responder a este mensaje
#7 Norman
13/03/2007 - 14:19 | Informe spam
la tabla tiene del orden de 800.000 registros
indices solo la clave primaria que pongo en el where.
y las caracteristica de los campos que uso ya las he puesto antes
el resto de campo son de tipo numerico y caracter no tiene nada raro


"Maxi" wrote:

Norman, nunca pongas en un where a la izquierda una funcion, eso hara que no
se usen los indices. No es facil ayudarte si no conocemos detalles como
"indices", cantidad de registros, etc.

Yo te recomendaria primero que saques esa funcion convert y revises temas de
indices, tambien es aconsejable que leas los planes de ejecucion, si no los
puedes interpretar puedes ponerlos aqui en formato texto y te ayudamos


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Norman" escribió en el mensaje
news:
>
> Al hacer un update, no termina nunca, tarda horas..:
>
> update BBDD.dbo.tabla set campoAtabla=CONVERT(DATETIME, '2007-01-24
> 00:00:00',102) where campoBtaba='310713'
>
> Os comento:
> campoAtabla --> Date Type: int
> length: 4
> Allow nulls: V
> campoBtaba --> Date Type: Datetime
> length: 8
> Es primary Key
>
> Al hacer el anterior unpdate solo lo estoy haciendo para un registro
> "Where". no termina nunca, tarda horas. la tabla tiene sobre 800.000
> registros
>
> Como lo puedo hacer de alguna otra forma?
> Porque tarda tanto?
>
> Gracias
>
>



Respuesta Responder a este mensaje
#8 DNC
13/03/2007 - 15:53 | Informe spam
directamente no lo usas y listo

p.e.

declare @dato datetime

set @dato = '20070124'

select CONVERT(DATETIME, '20070124',102), @dato
go




On 13 mar, 10:14, Norman wrote:
Si no pongo el Where a la izquierda, donde lo puedo poner??????

Puedo pasarte mas info:
la tabla solo tiene un indice que es la clave primaria que pongo en el
Where, pero no entiendo por que no lo trata como un indice, donde habria que
ponerlo?

Quitanto la funcion convert va rapido y no tarda



"Maxi" wrote:
> Norman, nunca pongas en un where a la izquierda una funcion, eso hara que no
> se usen los indices. No es facil ayudarte si no conocemos detalles como
> "indices", cantidad de registros, etc.

> Yo te recomendaria primero que saques esa funcion convert y revises temas de
> indices, tambien es aconsejable que leas los planes de ejecucion, si no los
> puedes interpretar puedes ponerlos aqui en formato texto y te ayudamos


> -
> Microsoft M.V.P en SQLServer
> SQLTotal Consulting - Servicios en SQLServer
> Email:
> "Norman" escribió en el mensaje
>news:

> > Al hacer un update, no termina nunca, tarda horas..:

> > update BBDD.dbo.tabla set campoAtabla=CONVERT(DATETIME, '2007-01-24
> > 00:00:00',102) where campoBtaba='310713'

> > Os comento:
> > campoAtabla --> Date Type: int
> > length: 4
> > Allow nulls: V
> > campoBtaba --> Date Type: Datetime
> > length: 8
> > Es primary Key

> > Al hacer el anterior unpdate solo lo estoy haciendo para un registro
> > "Where". no termina nunca, tarda horas. la tabla tiene sobre 800.000
> > registros

> > Como lo puedo hacer de alguna otra forma?
> > Porque tarda tanto?

> > Gracias- Ocultar texto de la cita -

- Mostrar texto de la cita -
Respuesta Responder a este mensaje
#9 Norman
13/03/2007 - 16:11 | Informe spam
Solucionado con eso, Gracias

"DNC" wrote:

directamente no lo usas y listo

p.e.

declare @dato datetime

set @dato = '20070124'

select CONVERT(DATETIME, '20070124',102), @dato
go




On 13 mar, 10:14, Norman wrote:
> Si no pongo el Where a la izquierda, donde lo puedo poner??????
>
> Puedo pasarte mas info:
> la tabla solo tiene un indice que es la clave primaria que pongo en el
> Where, pero no entiendo por que no lo trata como un indice, donde habria que
> ponerlo?
>
> Quitanto la funcion convert va rapido y no tarda
>
>
>
> "Maxi" wrote:
> > Norman, nunca pongas en un where a la izquierda una funcion, eso hara que no
> > se usen los indices. No es facil ayudarte si no conocemos detalles como
> > "indices", cantidad de registros, etc.
>
> > Yo te recomendaria primero que saques esa funcion convert y revises temas de
> > indices, tambien es aconsejable que leas los planes de ejecucion, si no los
> > puedes interpretar puedes ponerlos aqui en formato texto y te ayudamos
>
>
> > -
> > Microsoft M.V.P en SQLServer
> > SQLTotal Consulting - Servicios en SQLServer
> > Email:
> > "Norman" escribis en el mensaje
> >news:
>
> > > Al hacer un update, no termina nunca, tarda horas..:
>
> > > update BBDD.dbo.tabla set campoAtabla=CONVERT(DATETIME, '2007-01-24
> > > 00:00:00',102) where campoBtaba='310713'
>
> > > Os comento:
> > > campoAtabla --> Date Type: int
> > > length: 4
> > > Allow nulls: V
> > > campoBtaba --> Date Type: Datetime
> > > length: 8
> > > Es primary Key
>
> > > Al hacer el anterior unpdate solo lo estoy haciendo para un registro
> > > "Where". no termina nunca, tarda horas. la tabla tiene sobre 800.000
> > > registros
>
> > > Como lo puedo hacer de alguna otra forma?
> > > Porque tarda tanto?
>
> > > Gracias- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -



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