![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
La verdad es que no se cual puede ser el problema.
Pense que podia ser la red, por eso lo ejecute en el servidor directamente Luego pense que el problema podria ser que son muchos registros por eso probe con tan solo 10 Y como el codigo no tiene 'nada' pienso que el problema puede ser ese, pero estoy un pcoo perdido Uso los componentes ADO que vienen con Delphi 6 La tabla no tiene ningun tipo de triggers, indice, ni nada de nada Son aproximadamente 800.000 registros y tarda en actualizar cada registro aproximadamente medio segundo |
|
#2
|
||||
|
||||
|
Hola,
detalle importante: Cuando dices que lo ejecutas directamente en el servidor... ejecutas tu aplicación desde el servidor, no? Yo creo que lo mejor sería que intentases algún update directamente desde el Query Analyzer a ver qué te hace. Otra cosa interesante sería que esta actualización la realizaras mediante un Stored Procedure para descartar que se trate de los componentes ADO. Temas relacionados con ADO: Qué tipo de cursor utilizas? Has Probado a utilizar BatchUpdates? Temas de servidor: Esta tabla está indexada correctamente? Has verificado el tamaño de la BD? Tienes algun indice clustered? Has utilizado algún plan de mantenimiento para reducir el tamaño de la BD?? Suerte! |
|
#3
|
||||
|
||||
|
Cita:
En cuanto a propiedades de ADO haz pruebas con: * CursorLocation = clServer. * CursorType = ctOpenForwardOnly (sube rendimiento vbastante si no vas a realizar recorridos hacia adelante y atrás). Creo que si el recorrido lo haces por un índice ganarás bastante. ¿Tienes controles DataAware ligados a esos campos? No creo, pero si es así desactivalos (DisableControls) y al acabar los vuelves a activar.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#4
|
|||
|
|||
|
En efecto, he indexado la tabla y se han actualizado los registros a una velocidad medianamente normal y rapida.
Antes de hacerlo tambien probe a ejecturalo desde el servidor mediante: CursorLocation = clServer. y aalgo gane en velocidad, pero seguia siendo el proceso muy lento En un principio pense que podria ser el ADO, porque creo recordar haber leido que cuando abres una tabla por ADO, te carga los datos en memoria Muchas gracias a todos y un saludo |
|
#5
|
||||
|
||||
|
Cita:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|