![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Gracias Neftali por tu pronta respuesta,
ocurre igual con commit que commitretainning, se trata por ejemplo de una entrada de registros por pantalla, al primer registro que entro, ya va lento. Un saludo |
|
#2
|
|||
|
|||
|
Saludos,
he estado parando el programa antes y después de las instrucciones con el ibdataset y la lentitud está en el Post (no tiene eventos afterpost ni beforepost), el append y el commit van como las balas. Gracias |
|
#3
|
||||
|
||||
|
¿Puedes dejarnos el script de creación de la tabla para que hagamos pruebas?, ¿puedes poner el código delphi de cómo lo haces?, así será más facil que se te pueda ayudar
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
|||
|
|||
|
Gracias por anticipado, aqui teneis:
hago APPEND asigno los valores de T, TIP, NUM igualando de otras variables el resto de los campos vienen de DBEDITs hago POST (aquí es donde va lento) tiene 125.000 regs /**** Generated by IBExpert 13/07/2005 20:33:56 ****/ SET SQL DIALECT 3; SET NAMES NONE; CREATE TABLE ALMACEN ( T SMALLINT, TIP VARCHAR(1), NUM INTEGER, FEC DATE, HOR TIME, ART VARCHAR(11), DES VARCHAR(50), CLI INTEGER, CAN NUMERIC(5,2), CANB NUMERIC(5,2), PRE NUMERIC(5,3), ALB INTEGER, AUT INTEGER ); /**** Indices ****/ CREATE UNIQUE INDEX ALMACEN_IDX1 ON ALMACEN (T, TIP, NUM); |
|
#5
|
||||
|
||||
|
Es probable que la tabla tenga triggers que sean los que relentizan el sistema. Para comprobarlo, desactivá los triggers asociados y cronometrá nuevamente.
Es probable también que haya una relación que no esté soportada con un índice. Interbase/Firebird crea automáticamente los índices necesarios cuando declaras un foreign key, pero recuerdo que es posible borrar estos, lo que obliga al sistema a hacer un full scan de la tabla cada vez que se comprueba la integridad. Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#6
|
|||
|
|||
|
Gracias de nuevo,
no hay triggers, ni eventos after before ni nada que no haya expuesto, es esa tabla asi de sencilla, con Ibexpert me crea los registros de inmediato, pero desde delphi tarda 9 seg., he probado con Fibplus y lo mismo. Pienso que la database está bien configurada, porque ibexpert trabaja bien, creo que el delphi será el culpable, no se... Gracias por vuestro interés. Un saludo |
|
#7
|
||||
|
||||
|
Bien!
Al menos se ha despejado la duda del motor... ahora, yo creo que hay algo errático en la forma en que vos estas enviando la actualización... o en la forma que lo implementa tu capa de acceso a datos. Podes comprobarlo con el propio IBExpert, que hasta donde yo recuerdo, está hecho en delphi, y donde vos mismo asegurás que va bien. Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#8
|
|||
|
|||
|
Hola PJJOrdan
Te cuento que me pasaba lo mismo, despues que la tabla llegaba a unos 50000 registro cuando hacia un append (metodologia usada en las tablas plana ) se me volvia una tortuga. La solucion fue hacer todas las altas y modificaciones con Store Procedure, de esta forma se te acaban los problemas, por mas que la tabla tenga 500000 registro , el tiempo de insercion no varia saludos tulio |
|
#9
|
|||
|
|||
|
Gracias Tulio, muy amable tu respuesta,
he creado un stroredproc, le paso los parametros, executo y lo mismo, 9 seg. el primer reg. , sin salirme del programa y haciendo commitretainning creo otros y ya rapidísimo, igual que con el insert del ibdataset. (si hago commit vuelve a tardar los 9seg.). Yo no quiero haceros perder mas tiempo con el tema, será algo particular mio, de mi instalación, bueno ya veré.. Gracias de todos modos. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|