FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Lento al actualizar datos (update) en registros de BD postgre
Hola tengo una base de datos en postgre con una tabla que contiene 9000 registros, en esta base se conectan 10 usuarios simultáneamente y están actualizando información en registros diferentes, los datos si se guardan pero siento que es un poco lento, hablo aproximadamente de 5 segundos por cada dato que se actualiza a veces mas o menos, uso delphi 2010, mi conexión la hice la primera ves con componentes zeos y solo ocupe un ZConnection y un ZQuery pero al ver lo lento que era lo cambie por los componentes que vienen en delphi en BDE entonces puse un tdatabase y un tquery y mi conexion por medio de un odbc, pero aun asi sigue super lenta, no se si sea la manera correcta de hacerlo pues por lo general había trabajado con un solo usuario y las actualizaciones eran rápidas en otros programas diferentes a este,pero no se si cambie si varios usuarios van hacer uso de la misma base o conexión practicamente todo mi codigo es esto:
y sin embargo se tarda aproximadamente 5 segundos, no se si con un tdatabase y un tquery sea lo único necesario que necesite para tener una buena conexión o si el problema este en la base de datos, por cierto no se si también afecte o tenga que ver, pero a la ves que actualizo un dato también hago un insert en otra tabla en la misma base de datos, aparentemente el insert si es rapido (menos de un segundo).. Cualquier comentario o sugerencia que me pueda ayudar o dar una pista se los agradeceré ..
__________________
En movimiento... |
#2
|
||||
|
||||
Hola,
1. No! nunca! jamas! ni en sueños! ni loco! recomendaria pasar de Zeos a BDE. 2. debes revisar si la tabla tiene triggers a ver si eso está haciendo lenta la actualización 3. Revisaria la configuración de PostgreSQL en el servidor... asignación de memoria nucleo en que trabaja, carga de red... cosas así Estamos en contacto.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#3
|
||||
|
||||
Gracias movorack por tu respuesta
1.-Me intriga tu respuesta no.1 No! nunca! jamas! ni en sueños! ni loco! recomendaria pasar de Zeos a BDE. jaja tan tragico es?.. la verdad que he leido que ya no es bueno utilizar el bde de delphi y por lo general hago el intento por ya no utilizarlo pero todo parece apuntar que es lo que se seguira utilizando he comentado en los foros y a ciencia cierta no me dan una respuesta concreta de por que ya no y me sorprende por que aun en delphi 2010 lo siguen utilizando y los componentes zeos pues los he utilizado antes y no he tenido problema pero estos ultimos que utilizo son todavia de prueba por que no hay zeos para delphi2010 ya liberados entonces por eso pense que tal ves ahi pudiera estar el problema, aparte de que parece ser que son un poco mas lentos que los componentes que delphi trae pero para mi en teoria casi tardan lo mismo..la verdad que no he hecho pruebas tan especificas como algunos compañeros del club 2.- la tabla no contiene triggers solo algunos constrains simples como llaves principales o campos autonumericos 3.- yo estoy casi seguro que es la red o algo por parte del servidor pero no tengo manera de medir el trafico de la red o el ancho de banda que tengo disponible, ahora por otro lado la base de datos que tengo en postgre tiene su origen en un DBF que por medio de un programa lo trasformo a sql, al montar la tabla en postgre solo asigno una llave primaria y eso es todo, cres que se me paso algo mas?..
__________________
En movimiento... |
#4
|
||||
|
||||
Hola.
Igual digo una tontería pero ¿tienes creado un índice para el campo "folioe"? Saludos |
#5
|
||||
|
||||
La verdad es que es un tiempo "excesivo".
Cita:
No se si tienes alguna herramienta de administración. Con eso descartas que sea problemas de los componentes de conexión. Si desde un programa externo tarda también mucho ya sabes que no tiene que ver con Zeos. Cita:
+1
__________________
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. |
#6
|
||||
|
||||
Gracias por responder, después de hacer revisiones entre dos cabezas <con ayuda de otro programador> vimos que lo que hacia lento el programa no era el query ni los componentes, se me paso decir que también cargaba 4 imágenes a la vez de un servidor, en el cual tengo aproximadamente 140,000 imágenes, entonces prácticamente lo que tardaba era la carga y búsqueda de las imágenes y no el query, ya que al des-habilitar las imágenes los querys funcionaron y no tardaron ni un segundo, las imagenes las mandaba llamar directamente desde su ruta sin embargo el programador hizo una funcion y las imagenes se pasaron tipo web por http y aparentemente el programa ya quedo bien. las imagenes aunque son las mismas no tardan ni un segundo en cargar, por lo que el programa ya funciona muy bien, mi tabla no la tengo indexada pero en si ya como trabaja el programa y la velocidad que tiene creo que ya no sera necesario, hablo aproximadamente de medio segundo por transaccion, aparte de que no hago insert ni deletes en esa tabla en especifico.
Les agradezco mucho su ayuda y atención movorack, newtron , Neftali y disculpen que no haya mencionado las imágenes, tal ves hubiéramos encontrado la solución mas pronto Gracias totales..
__________________
En movimiento... Última edición por thelibmx fecha: 04-08-2011 a las 06:18:36. |
#7
|
||||
|
||||
sera mejor que crees un procedimiento almacenado
|
#8
|
||||
|
||||
Por favor, jejo1984, fíjate que son hilos antiguos los que estás contestando. Si lo vas a resucitar, al menos, ofrece una respuesta completa y detallada. Gracias.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#9
|
||||
|
||||
Vamos Casimiro se supune que es un foro el tema aún no esta cerrado por que no dice o describes que este tema ya esta cerrado
|
#10
|
||||
|
||||
Nadie a dicho que no puedas contestar este o cualquier otro, tan sólo he aconsejado que ya que los contestas, que lo hagas con más "fundamento"
En caso contrario, no estás aportando nada.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Locate Lento con muchos registros con ADOQuery por indice clave primaria en Access | Rako | Conexión con bases de datos | 4 | 02-06-2011 15:25:27 |
actualizar con update | Paty´s | OOP | 6 | 25-02-2010 18:16:16 |
agregar postgre a foro de base de datos | thelibmx | Debates | 4 | 04-12-2007 00:19:16 |
Actualizar tabla con datos de otra tabla mediante UPDATE | Rockin | Firebird e Interbase | 18 | 28-11-2007 20:15:42 |
Update tarda en actualizar mi tabla...... | uper | SQL | 1 | 14-09-2005 05:23:28 |
|