Holas,
una duda pero hoy realmente me quede preocupado al hacer un ciclo sobre un archivos ADT y este tardo minutos sobre 10000 registros, un ejemplo tan simple como este
dbf -> ( DBGoTop() )
DO WHILE ! dbf -> ( EOF() )
dbf -> fielld1 := dbf -> field2
dbf -> ( DBSkip() )
ENDDO
nada mas que eso y me ponia a dormir, sera que esto es normal o estoy haciendo algo mal, o hay alguna alternativa para que esto vuele como con los DBFCDX nativos
comentarios?? Rene?
saludos
Marcelo
O.T. velocidad de ADS LOCAL con archivos ADT
-
- Posts: 1033
- Joined: Fri Oct 07, 2005 3:33 pm
- Location: Cochabamba - Bolivia
-
- Posts: 1033
- Joined: Fri Oct 07, 2005 3:33 pm
- Location: Cochabamba - Bolivia
Rene,
gracias por el interes, abajo adjunto el mencionado archivo de configuracion que esta en el mismo directorio de la aplicacion (le quite parte de los comentarios para bajar el peso del mensaje)
No se que podria ser, espero tengas alguna idea
saludos y gracias
Marcelo
[SETTINGS]
; Advantage Local Server configuration file
; Number of Connections
; Default = 20; Range = 1 - No upper limit
CONNECTIONS=20
;
; Number of Tables
; Default = 50; Range = 1 - No upper limit
TABLES=50
;
; Number of Index Files
; Default = 75; Range = 1 - No upper limit
INDEXES=75
;
; Number of Data Locks
; Default = 500; Range = 1 - No upper limit
LOCKS=500
;
; Maximum Size of Error Log (in KBytes)
; Default = 1000 KBytes; Range = 1 KByte - No upper limit
ERROR_LOG_MAX=1000
;
; Error Log and Assert Log Path
; Default = C:\
ERROR_ASSERT_LOGS=
;
ANSI_CHAR_SET=
;
OEM_CHAR_SET=
;
; Local File Flush Frequency (in milliseconds)
; Default = 20000 ms (20 seconds); Range = 0 ms - No upper limit
FLUSH_FREQUENCY=20000
;
LOWERCASE_ALL_PATHS=
gracias por el interes, abajo adjunto el mencionado archivo de configuracion que esta en el mismo directorio de la aplicacion (le quite parte de los comentarios para bajar el peso del mensaje)
No se que podria ser, espero tengas alguna idea
saludos y gracias
Marcelo
[SETTINGS]
; Advantage Local Server configuration file
; Number of Connections
; Default = 20; Range = 1 - No upper limit
CONNECTIONS=20
;
; Number of Tables
; Default = 50; Range = 1 - No upper limit
TABLES=50
;
; Number of Index Files
; Default = 75; Range = 1 - No upper limit
INDEXES=75
;
; Number of Data Locks
; Default = 500; Range = 1 - No upper limit
LOCKS=500
;
; Maximum Size of Error Log (in KBytes)
; Default = 1000 KBytes; Range = 1 KByte - No upper limit
ERROR_LOG_MAX=1000
;
; Error Log and Assert Log Path
; Default = C:\
ERROR_ASSERT_LOGS=
;
ANSI_CHAR_SET=
;
OEM_CHAR_SET=
;
; Local File Flush Frequency (in milliseconds)
; Default = 20000 ms (20 seconds); Range = 0 ms - No upper limit
FLUSH_FREQUENCY=20000
;
LOWERCASE_ALL_PATHS=
-
- Posts: 1033
- Joined: Fri Oct 07, 2005 3:33 pm
- Location: Cochabamba - Bolivia
Mas pistas,
si utilizo SQL, y creo primero una tabla temporal la cosa va mucho mas rapido, esto es un ejemplo
AdsConnect( ".\data\" ,1)
adsRightsCheck( .F. )
Select 100
ADSCreateSQLStatement("SQLarea",3)
AdsExecuteSqlDirect( " select * into #temo from dbf " )
sqlarea -> ( DBCLOSEAREA() )
ADSCreateSQLStatement("SQLarea",3)
AdsExecuteSqlDirect( " update #temp set field1=field2" )
esto va miles que digo millones de veces mas rapido
que raro?????????? creo que debere escribir al foro de xHarbour, solo que mi problema sera que no podre actualizarme con el ultimo xHarbour creo ya que utilizo FWH 2.6 de abril 2005
saludos
si utilizo SQL, y creo primero una tabla temporal la cosa va mucho mas rapido, esto es un ejemplo
AdsConnect( ".\data\" ,1)
adsRightsCheck( .F. )
Select 100
ADSCreateSQLStatement("SQLarea",3)
AdsExecuteSqlDirect( " select * into #temo from dbf " )
sqlarea -> ( DBCLOSEAREA() )
ADSCreateSQLStatement("SQLarea",3)
AdsExecuteSqlDirect( " update #temp set field1=field2" )
esto va miles que digo millones de veces mas rapido
que raro?????????? creo que debere escribir al foro de xHarbour, solo que mi problema sera que no podre actualizarme con el ultimo xHarbour creo ya que utilizo FWH 2.6 de abril 2005
saludos
-
- Posts: 1033
- Joined: Fri Oct 07, 2005 3:33 pm
- Location: Cochabamba - Bolivia
Holas,
he solucionado el problema, para la gente que le interese, el problema se ocasiona cuando uno hace uso de ARC para importar tablas DBF a CDX, ya tuve prioblemas con campos que tenian espacios al final, la importacion trunca esta informacion.
Conclusion, no utilizar ARC para importar tablas, mejor hacerlo a mano
saludos y gracias
Marcelo
he solucionado el problema, para la gente que le interese, el problema se ocasiona cuando uno hace uso de ARC para importar tablas DBF a CDX, ya tuve prioblemas con campos que tenian espacios al final, la importacion trunca esta informacion.
Conclusion, no utilizar ARC para importar tablas, mejor hacerlo a mano
saludos y gracias
Marcelo