In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Perdonen que insista...
Perdonen que insista...
Perdonen que insista con una pregunta:
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
Perdonen que insista...
Hola:
Estamos utilizando Xailer 3,
sin embargo no tuvo diferencias.
Mario Angelini
Estamos utilizando Xailer 3,
sin embargo no tuvo diferencias.
Mario Angelini
Perdonen que insista...
Pues a mi si que me ocurre.
He comprobado que esto se da con ficheros muy grandes, ya comenté que uno de los ficheros tiene casi 3 millones de registros y otro algo más de 300.000. En otros ficheros que tienen algunos pocos miles de registros no noto ninguna diferencia de tiempo.
Ahora que me he comprado la última versión (3.0) he probado ejecutarlo directamente desde el exe creado y sigue tardando mucho.
He probado en varios ordenadores y en todos tarda muchísimo más.
Bueno, si no hay ninguna solución, me tocará adelgazar estos ficheros y pasarlos a algún histórico.
Gracias por contestar Mario.
Un saludo
Paco Martínez
"www[dot]eMeAsOfT[dot]com" <mario[at]emeasoft[dot]com[dot]br> escribió en el mensaje news:51a123fd$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Hola:
Estamos utilizando Xailer 3,
sin embargo no tuvo diferencias.
Mario Angelini
--
http://www.eMeAsOfT.com
http://emeasoft.blogspot.com/
http://twitter.com/emeasoft
http://www.facebook.com/emeasoft
https://plus.google.com/102999253031532804222
http://g.co/maps/26gey
--
He comprobado que esto se da con ficheros muy grandes, ya comenté que uno de los ficheros tiene casi 3 millones de registros y otro algo más de 300.000. En otros ficheros que tienen algunos pocos miles de registros no noto ninguna diferencia de tiempo.
Ahora que me he comprado la última versión (3.0) he probado ejecutarlo directamente desde el exe creado y sigue tardando mucho.
He probado en varios ordenadores y en todos tarda muchísimo más.
Bueno, si no hay ninguna solución, me tocará adelgazar estos ficheros y pasarlos a algún histórico.
Gracias por contestar Mario.
Un saludo
Paco Martínez
"www[dot]eMeAsOfT[dot]com" <mario[at]emeasoft[dot]com[dot]br> escribió en el mensaje news:51a123fd$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Hola:
Estamos utilizando Xailer 3,
sin embargo no tuvo diferencias.
Mario Angelini
--
http://www.eMeAsOfT.com
http://emeasoft.blogspot.com/
http://twitter.com/emeasoft
http://www.facebook.com/emeasoft
https://plus.google.com/102999253031532804222
http://g.co/maps/26gey
--
-
- Mensajes: 1831
- Registrado: Mar Oct 11, 2005 9:53 am
Perdonen que insista...
Yo estoy usando aun DBF con mas de 1 millón de registros y no es para nada
lento, creo que habrías de checar tu modulo de indexación, si estas llamando
algún proceso extra y que hace dicho proceso.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:51a0881b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Perdonen que insista con una pregunta:
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
lento, creo que habrías de checar tu modulo de indexación, si estas llamando
algún proceso extra y que hace dicho proceso.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:51a0881b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Perdonen que insista con una pregunta:
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
Ramón Zea
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/
Perdonen que insista...
Gracias por contestar Ramón:
Te adjunto el código que utilizo y que creo que no tiene nada raro (¡eso creo!)
ERASE("FACTURAS_LINEAS.CDX")
USE FACTURAS_LINEAS EXCLUSIVE NEW
INDEX ON TARIFA+FACTURA TAG CLAVE1 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON DTOS(FECHA) TAG CLAVE2 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON PLATO TAG CLAVE3 TO FACTURAS_LINEAS FOR BAJA<>"S"
CLOS DATA
Si ves algo extraño o crees que se puede hacer de otra forma mejor te agradecería que me lo dijeses.
Un saludo
Paco Martínez
<zeasoftware@hotmail.com> escribió en el mensaje news:[email=51ad7149@svctag-j7w3v3j....]51ad7149@svctag-j7w3v3j....[/email]
Yo estoy usando aun DBF con mas de 1 millón de registros y no es para nada
lento, creo que habrías de checar tu modulo de indexación, si estas llamando
algún proceso extra y que hace dicho proceso.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:51a0881b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Perdonen que insista con una pregunta:
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
--
Te adjunto el código que utilizo y que creo que no tiene nada raro (¡eso creo!)
ERASE("FACTURAS_LINEAS.CDX")
USE FACTURAS_LINEAS EXCLUSIVE NEW
INDEX ON TARIFA+FACTURA TAG CLAVE1 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON DTOS(FECHA) TAG CLAVE2 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON PLATO TAG CLAVE3 TO FACTURAS_LINEAS FOR BAJA<>"S"
CLOS DATA
Si ves algo extraño o crees que se puede hacer de otra forma mejor te agradecería que me lo dijeses.
Un saludo
Paco Martínez
<zeasoftware@hotmail.com> escribió en el mensaje news:[email=51ad7149@svctag-j7w3v3j....]51ad7149@svctag-j7w3v3j....[/email]
Yo estoy usando aun DBF con mas de 1 millón de registros y no es para nada
lento, creo que habrías de checar tu modulo de indexación, si estas llamando
algún proceso extra y que hace dicho proceso.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:51a0881b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Perdonen que insista con una pregunta:
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
--
Perdonen que insista...
BAJA es un campo en el DBF?
Lo tienes indicado como registro de baja con una 'S'?
Dame tu respuesta para indicarte pasos a seguir
Alex
------------------------------------------------------------ --------------------
"Francisco Martínez García" escribió en el mensaje de
noticias:51adb1c3$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Gracias por contestar Ramón:
Te adjunto el código que utilizo y que creo que no tiene nada raro (¡eso
creo!)
ERASE("FACTURAS_LINEAS.CDX")
USE FACTURAS_LINEAS EXCLUSIVE NEW
INDEX ON TARIFA+FACTURA TAG CLAVE1 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON DTOS(FECHA) TAG CLAVE2 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON PLATO TAG CLAVE3 TO FACTURAS_LINEAS FOR BAJA<>"S"
CLOS DATA
Si ves algo extraño o crees que se puede hacer de otra forma mejor te
agradecería que me lo dijeses.
Un saludo
Paco Martínez
<zeasoftware@hotmail.com> escribió en el mensaje
news:[email=51ad7149@svctag-j7w3v3j....]51ad7149@svctag-j7w3v3j....[/email]
Yo estoy usando aun DBF con mas de 1 millón de registros y no es para nada
lento, creo que habrías de checar tu modulo de indexación, si estas llamando
algún proceso extra y que hace dicho proceso.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:51a0881b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Perdonen que insista con una pregunta:
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
Lo tienes indicado como registro de baja con una 'S'?
Dame tu respuesta para indicarte pasos a seguir
Alex
------------------------------------------------------------ --------------------
"Francisco Martínez García" escribió en el mensaje de
noticias:51adb1c3$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Gracias por contestar Ramón:
Te adjunto el código que utilizo y que creo que no tiene nada raro (¡eso
creo!)
ERASE("FACTURAS_LINEAS.CDX")
USE FACTURAS_LINEAS EXCLUSIVE NEW
INDEX ON TARIFA+FACTURA TAG CLAVE1 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON DTOS(FECHA) TAG CLAVE2 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON PLATO TAG CLAVE3 TO FACTURAS_LINEAS FOR BAJA<>"S"
CLOS DATA
Si ves algo extraño o crees que se puede hacer de otra forma mejor te
agradecería que me lo dijeses.
Un saludo
Paco Martínez
<zeasoftware@hotmail.com> escribió en el mensaje
news:[email=51ad7149@svctag-j7w3v3j....]51ad7149@svctag-j7w3v3j....[/email]
Yo estoy usando aun DBF con mas de 1 millón de registros y no es para nada
lento, creo que habrías de checar tu modulo de indexación, si estas llamando
algún proceso extra y que hace dicho proceso.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:51a0881b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Perdonen que insista con una pregunta:
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
Perdonen que insista...
Si que es un campo de la dbf y efectivamente puede contener "S" o vacío " "
Cuando borro un registro de una dbf pongo este campo en "S" y ya no se muestra durante el trabajo. Hago esto en vez de utilizar DELETE, ya que tengo entendido que DELETE actúa como un SET FILTER y esto he comprobado que enlentece un poco el trabajo con un fichero dbf.
De vez en cuando reorganizo los ficheros y si que los borro definitivamente.
Gracias Alex
"Alex Gueca" <alexgueca@gmail.com> escribió en el mensaje news:51ae8073$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
BAJA es un campo en el DBF?
Lo tienes indicado como registro de baja con una 'S'?
Dame tu respuesta para indicarte pasos a seguir
Alex
------------------------------------------------------------ --------------------
"Francisco Martínez García" escribió en el mensaje de
noticias:51adb1c3$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Gracias por contestar Ramón:
Te adjunto el código que utilizo y que creo que no tiene nada raro (¡eso
creo!)
ERASE("FACTURAS_LINEAS.CDX")
USE FACTURAS_LINEAS EXCLUSIVE NEW
INDEX ON TARIFA+FACTURA TAG CLAVE1 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON DTOS(FECHA) TAG CLAVE2 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON PLATO TAG CLAVE3 TO FACTURAS_LINEAS FOR BAJA<>"S"
CLOS DATA
Si ves algo extraño o crees que se puede hacer de otra forma mejor te
agradecería que me lo dijeses.
Un saludo
Paco Martínez
<zeasoftware@hotmail.com> escribió en el mensaje
news:[email=51ad7149@svctag-j7w3v3j....]51ad7149@svctag-j7w3v3j....[/email]
Yo estoy usando aun DBF con mas de 1 millón de registros y no es para nada
lento, creo que habrías de checar tu modulo de indexación, si estas llamando
algún proceso extra y que hace dicho proceso.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:51a0881b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Perdonen que insista con una pregunta:
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
--
Cuando borro un registro de una dbf pongo este campo en "S" y ya no se muestra durante el trabajo. Hago esto en vez de utilizar DELETE, ya que tengo entendido que DELETE actúa como un SET FILTER y esto he comprobado que enlentece un poco el trabajo con un fichero dbf.
De vez en cuando reorganizo los ficheros y si que los borro definitivamente.
Gracias Alex
"Alex Gueca" <alexgueca@gmail.com> escribió en el mensaje news:51ae8073$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
BAJA es un campo en el DBF?
Lo tienes indicado como registro de baja con una 'S'?
Dame tu respuesta para indicarte pasos a seguir
Alex
------------------------------------------------------------ --------------------
"Francisco Martínez García" escribió en el mensaje de
noticias:51adb1c3$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Gracias por contestar Ramón:
Te adjunto el código que utilizo y que creo que no tiene nada raro (¡eso
creo!)
ERASE("FACTURAS_LINEAS.CDX")
USE FACTURAS_LINEAS EXCLUSIVE NEW
INDEX ON TARIFA+FACTURA TAG CLAVE1 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON DTOS(FECHA) TAG CLAVE2 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON PLATO TAG CLAVE3 TO FACTURAS_LINEAS FOR BAJA<>"S"
CLOS DATA
Si ves algo extraño o crees que se puede hacer de otra forma mejor te
agradecería que me lo dijeses.
Un saludo
Paco Martínez
<zeasoftware@hotmail.com> escribió en el mensaje
news:[email=51ad7149@svctag-j7w3v3j....]51ad7149@svctag-j7w3v3j....[/email]
Yo estoy usando aun DBF con mas de 1 millón de registros y no es para nada
lento, creo que habrías de checar tu modulo de indexación, si estas llamando
algún proceso extra y que hace dicho proceso.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:51a0881b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Perdonen que insista con una pregunta:
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
--
Perdonen que insista...
Paco,
yo ya no utilizo DBFs y por eso mi ayuda es muy limitada, pero...
> Si que es un campo de la dbf y efectivamente puede contener "S" o
> vacío " "
> Cuando borro un registro de una dbf pongo este campo en "S" y ya no se
> muestra durante el trabajo. Hago esto en vez de utilizar DELETE, ya
> que tengo entendido que DELETE actúa como un SET FILTER y esto he
> comprobado que enlentece un poco el trabajo con un fichero dbf.
Lo que estás haciendo es exactamente igual. Si utilizas un campo con un
valor determinado para marcar los borrados, también va a funcionar como
un SET FILTER. Para eso es mejor que uses los dbDelete() de siempre, y
crees los índices con la cláusula "FOR !Deleted()", que creo que estaba
optimizada para estos casos.
En ambos casos, lo que te libra de que actue como un SET FILTER es el
FOR al crear el índice. Pero claro, te libras del filtro al recorrer
después la tabla usando esos índices, pero al crear los índices le estás
metiendo un SET FILTER como una casa.
> De vez en cuando reorganizo los ficheros y si que los borro
> definitivamente.
De la misma forma podrías hacer un simple PACK para eliminar los
registros borrados, y sin tantas vueltas.
Aparte de eso, yo sigo en lo mio... aconsejar a todo el mundo que esté
usando DBFs a pasarse a SQLite. Es verdad que no es trivial, y hay que
hacer cambios importantes, pero menos que al pasar a otros motores SQL.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
yo ya no utilizo DBFs y por eso mi ayuda es muy limitada, pero...
> Si que es un campo de la dbf y efectivamente puede contener "S" o
> vacío " "
> Cuando borro un registro de una dbf pongo este campo en "S" y ya no se
> muestra durante el trabajo. Hago esto en vez de utilizar DELETE, ya
> que tengo entendido que DELETE actúa como un SET FILTER y esto he
> comprobado que enlentece un poco el trabajo con un fichero dbf.
Lo que estás haciendo es exactamente igual. Si utilizas un campo con un
valor determinado para marcar los borrados, también va a funcionar como
un SET FILTER. Para eso es mejor que uses los dbDelete() de siempre, y
crees los índices con la cláusula "FOR !Deleted()", que creo que estaba
optimizada para estos casos.
En ambos casos, lo que te libra de que actue como un SET FILTER es el
FOR al crear el índice. Pero claro, te libras del filtro al recorrer
después la tabla usando esos índices, pero al crear los índices le estás
metiendo un SET FILTER como una casa.
> De vez en cuando reorganizo los ficheros y si que los borro
> definitivamente.
De la misma forma podrías hacer un simple PACK para eliminar los
registros borrados, y sin tantas vueltas.
Aparte de eso, yo sigo en lo mio... aconsejar a todo el mundo que esté
usando DBFs a pasarse a SQLite. Es verdad que no es trivial, y hay que
hacer cambios importantes, pero menos que al pasar a otros motores SQL.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
Perdonen que insista...
José:
Mil gracias por tus valiosos consejos.
Acabo de hacer una pequeña prueba eliminando los FOR y efectivamente me baja un poco el tiempo al reindexar los ficheros, pero tampoco es como para tirar cohetes. Pero claro, esto me tocaría el revisar todos los programas, y la verdad es que como lo estoy haciendo hasta ahora, el único impedimento que he visto es la indexar los ficheros, ya que el resto de programación no veo que el programa tarde más en grabar registros, tiempo de consulta, etc.
Supongo que todo esto es debido del cambio de xHarbour a Harbour. Ya meditaré detenidamente si sigo como hasta ahora o cambio la forma de tratar las bajas de los ficheros, como tu me indicas.
Por otro lado me gustaría que me comentases un poco por donde empezar con SQLite. Sinceramente mis conocimientos sobre el tema es 0 (pero, cero, cero, cero). ¿Sabes de algún manual, libro, página, etc. por donde pueda empezar? ¿Necesito algún software aparte? A ser posible en la lengua de Cervantes (castellano).
Reitero mi agradecimiento
Un saludo
Paco Martínez
"Jose F. Gimenez" <jfgimenezAM]"@wanadoo.es> escribió en el mensaje news:51aefcf9$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Paco,
yo ya no utilizo DBFs y por eso mi ayuda es muy limitada, pero...
> Si que es un campo de la dbf y efectivamente puede contener "S" o
> vacío " "
> Cuando borro un registro de una dbf pongo este campo en "S" y ya no se
> muestra durante el trabajo. Hago esto en vez de utilizar DELETE, ya
> que tengo entendido que DELETE actúa como un SET FILTER y esto he
> comprobado que enlentece un poco el trabajo con un fichero dbf.
Lo que estás haciendo es exactamente igual. Si utilizas un campo con un
valor determinado para marcar los borrados, también va a funcionar como
un SET FILTER. Para eso es mejor que uses los dbDelete() de siempre, y
crees los índices con la cláusula "FOR !Deleted()", que creo que estaba
optimizada para estos casos.
En ambos casos, lo que te libra de que actue como un SET FILTER es el
FOR al crear el índice. Pero claro, te libras del filtro al recorrer
después la tabla usando esos índices, pero al crear los índices le estás
metiendo un SET FILTER como una casa.
> De vez en cuando reorganizo los ficheros y si que los borro
> definitivamente.
De la misma forma podrías hacer un simple PACK para eliminar los
registros borrados, y sin tantas vueltas.
Aparte de eso, yo sigo en lo mio... aconsejar a todo el mundo que esté
usando DBFs a pasarse a SQLite. Es verdad que no es trivial, y hay que
hacer cambios importantes, pero menos que al pasar a otros motores SQL.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
--
Mil gracias por tus valiosos consejos.
Acabo de hacer una pequeña prueba eliminando los FOR y efectivamente me baja un poco el tiempo al reindexar los ficheros, pero tampoco es como para tirar cohetes. Pero claro, esto me tocaría el revisar todos los programas, y la verdad es que como lo estoy haciendo hasta ahora, el único impedimento que he visto es la indexar los ficheros, ya que el resto de programación no veo que el programa tarde más en grabar registros, tiempo de consulta, etc.
Supongo que todo esto es debido del cambio de xHarbour a Harbour. Ya meditaré detenidamente si sigo como hasta ahora o cambio la forma de tratar las bajas de los ficheros, como tu me indicas.
Por otro lado me gustaría que me comentases un poco por donde empezar con SQLite. Sinceramente mis conocimientos sobre el tema es 0 (pero, cero, cero, cero). ¿Sabes de algún manual, libro, página, etc. por donde pueda empezar? ¿Necesito algún software aparte? A ser posible en la lengua de Cervantes (castellano).
Reitero mi agradecimiento
Un saludo
Paco Martínez
"Jose F. Gimenez" <jfgimenezAM]"@wanadoo.es> escribió en el mensaje news:51aefcf9$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Paco,
yo ya no utilizo DBFs y por eso mi ayuda es muy limitada, pero...
> Si que es un campo de la dbf y efectivamente puede contener "S" o
> vacío " "
> Cuando borro un registro de una dbf pongo este campo en "S" y ya no se
> muestra durante el trabajo. Hago esto en vez de utilizar DELETE, ya
> que tengo entendido que DELETE actúa como un SET FILTER y esto he
> comprobado que enlentece un poco el trabajo con un fichero dbf.
Lo que estás haciendo es exactamente igual. Si utilizas un campo con un
valor determinado para marcar los borrados, también va a funcionar como
un SET FILTER. Para eso es mejor que uses los dbDelete() de siempre, y
crees los índices con la cláusula "FOR !Deleted()", que creo que estaba
optimizada para estos casos.
En ambos casos, lo que te libra de que actue como un SET FILTER es el
FOR al crear el índice. Pero claro, te libras del filtro al recorrer
después la tabla usando esos índices, pero al crear los índices le estás
metiendo un SET FILTER como una casa.
> De vez en cuando reorganizo los ficheros y si que los borro
> definitivamente.
De la misma forma podrías hacer un simple PACK para eliminar los
registros borrados, y sin tantas vueltas.
Aparte de eso, yo sigo en lo mio... aconsejar a todo el mundo que esté
usando DBFs a pasarse a SQLite. Es verdad que no es trivial, y hay que
hacer cambios importantes, pero menos que al pasar a otros motores SQL.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
--
-
- Mensajes: 1831
- Registrado: Mar Oct 11, 2005 9:53 am
Perdonen que insista...
Yo uso algo parecido:
For Status == “A†.And. !Deleted()
Supongo tu campo BAJA es character 1
No veo mal en tu proceso, ya no lo tengo de esa manera, si no, hice uno basándome en uno de los ejemplos que trae Xailer...
Cuantos registros manejas?
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" <pacoelche@hotmail.com> escribió en el mensaje de noticias:[email=51aef048@svctag-j7w3v3j....]51aef048@svctag-j7w3v3j....[/email]
Si que es un campo de la dbf y efectivamente puede contener "S" o vacío " "
Cuando borro un registro de una dbf pongo este campo en "S" y ya no se muestra durante el trabajo. Hago esto en vez de utilizar DELETE, ya que tengo entendido que DELETE actúa como un SET FILTER y esto he comprobado que enlentece un poco el trabajo con un fichero dbf.
De vez en cuando reorganizo los ficheros y si que los borro definitivamente.
Gracias Alex
"Alex Gueca" <alexgueca@gmail.com> escribió en el mensaje news:51ae8073$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
BAJA es un campo en el DBF?
Lo tienes indicado como registro de baja con una 'S'?
Dame tu respuesta para indicarte pasos a seguir
Alex
------------------------------------------------------------ --------------------
"Francisco Martínez García" escribió en el mensaje de
noticias:51adb1c3$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Gracias por contestar Ramón:
Te adjunto el código que utilizo y que creo que no tiene nada raro (¡eso
creo!)
ERASE("FACTURAS_LINEAS.CDX")
USE FACTURAS_LINEAS EXCLUSIVE NEW
INDEX ON TARIFA+FACTURA TAG CLAVE1 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON DTOS(FECHA) TAG CLAVE2 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON PLATO TAG CLAVE3 TO FACTURAS_LINEAS FOR BAJA<>"S"
CLOS DATA
Si ves algo extraño o crees que se puede hacer de otra forma mejor te
agradecería que me lo dijeses.
Un saludo
Paco Martínez
<zeasoftware@hotmail.com> escribió en el mensaje
news:[email=51ad7149@svctag-j7w3v3j....]51ad7149@svctag-j7w3v3j....[/email]
Yo estoy usando aun DBF con mas de 1 millón de registros y no es para nada
lento, creo que habrías de checar tu modulo de indexación, si estas llamando
algún proceso extra y que hace dicho proceso.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:51a0881b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Perdonen que insista con una pregunta:
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
--
For Status == “A†.And. !Deleted()
Supongo tu campo BAJA es character 1
No veo mal en tu proceso, ya no lo tengo de esa manera, si no, hice uno basándome en uno de los ejemplos que trae Xailer...
Cuantos registros manejas?
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" <pacoelche@hotmail.com> escribió en el mensaje de noticias:[email=51aef048@svctag-j7w3v3j....]51aef048@svctag-j7w3v3j....[/email]
Si que es un campo de la dbf y efectivamente puede contener "S" o vacío " "
Cuando borro un registro de una dbf pongo este campo en "S" y ya no se muestra durante el trabajo. Hago esto en vez de utilizar DELETE, ya que tengo entendido que DELETE actúa como un SET FILTER y esto he comprobado que enlentece un poco el trabajo con un fichero dbf.
De vez en cuando reorganizo los ficheros y si que los borro definitivamente.
Gracias Alex
"Alex Gueca" <alexgueca@gmail.com> escribió en el mensaje news:51ae8073$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
BAJA es un campo en el DBF?
Lo tienes indicado como registro de baja con una 'S'?
Dame tu respuesta para indicarte pasos a seguir
Alex
------------------------------------------------------------ --------------------
"Francisco Martínez García" escribió en el mensaje de
noticias:51adb1c3$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Gracias por contestar Ramón:
Te adjunto el código que utilizo y que creo que no tiene nada raro (¡eso
creo!)
ERASE("FACTURAS_LINEAS.CDX")
USE FACTURAS_LINEAS EXCLUSIVE NEW
INDEX ON TARIFA+FACTURA TAG CLAVE1 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON DTOS(FECHA) TAG CLAVE2 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON PLATO TAG CLAVE3 TO FACTURAS_LINEAS FOR BAJA<>"S"
CLOS DATA
Si ves algo extraño o crees que se puede hacer de otra forma mejor te
agradecería que me lo dijeses.
Un saludo
Paco Martínez
<zeasoftware@hotmail.com> escribió en el mensaje
news:[email=51ad7149@svctag-j7w3v3j....]51ad7149@svctag-j7w3v3j....[/email]
Yo estoy usando aun DBF con mas de 1 millón de registros y no es para nada
lento, creo que habrías de checar tu modulo de indexación, si estas llamando
algún proceso extra y que hace dicho proceso.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:51a0881b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Perdonen que insista con una pregunta:
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
--
Ramón Zea
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/
- Carlos Ortiz
- Mensajes: 873
- Registrado: Mié Jul 01, 2009 5:44 pm
- Ubicación: Argentina - Córdoba
- Contactar:
Perdonen que insista...
ojo, cuando las dbf tienen muchos registros deleteados se pone muy lerda
su gestión.
El 25/05/2013 06:45, Francisco Martínez García escribió:
> Perdonen que insista con una pregunta:
>
> ¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
> versiones anteriores de Xailer?
>
> Hace unos días expuse un problema por el que el proceso de indexar se ha
> vuelto superlento y nadie me ha contestado.
>
> Simplemente quería saber si es que esto es así con la nueva versión de
> xailer.
>
> Muchas gracias
> Paco Martínez
>
>
su gestión.
El 25/05/2013 06:45, Francisco Martínez García escribió:
> Perdonen que insista con una pregunta:
>
> ¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
> versiones anteriores de Xailer?
>
> Hace unos días expuse un problema por el que el proceso de indexar se ha
> vuelto superlento y nadie me ha contestado.
>
> Simplemente quería saber si es que esto es así con la nueva versión de
> xailer.
>
> Muchas gracias
> Paco Martínez
>
>
@dbfarma
www.dbfarma.com.ar
www.dbfarma.com.ar
Perdonen que insista...
Hola Carlos:
Precisamente porque (creo) que con "delete" enlentece no lo utilizo e
inutilizo las líneas que doy de baja con el FOR BAJA<>"S", que lo único que
hace es no indexar esas líneas.
"Carlos Ortiz" <cortizassist@hotmail.com> escribió en el mensaje
news:51af5369$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> ojo, cuando las dbf tienen muchos registros deleteados se pone muy lerda
> su gestión.
>
> El 25/05/2013 06:45, Francisco Martínez García escribió:
>> Perdonen que insista con una pregunta:
>>
>> ¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
>> versiones anteriores de Xailer?
>>
>> Hace unos días expuse un problema por el que el proceso de indexar se ha
>> vuelto superlento y nadie me ha contestado.
>>
>> Simplemente quería saber si es que esto es así con la nueva versión de
>> xailer.
>>
>> Muchas gracias
>> Paco Martínez
>>
>>
>
Precisamente porque (creo) que con "delete" enlentece no lo utilizo e
inutilizo las líneas que doy de baja con el FOR BAJA<>"S", que lo único que
hace es no indexar esas líneas.
"Carlos Ortiz" <cortizassist@hotmail.com> escribió en el mensaje
news:51af5369$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> ojo, cuando las dbf tienen muchos registros deleteados se pone muy lerda
> su gestión.
>
> El 25/05/2013 06:45, Francisco Martínez García escribió:
>> Perdonen que insista con una pregunta:
>>
>> ¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
>> versiones anteriores de Xailer?
>>
>> Hace unos días expuse un problema por el que el proceso de indexar se ha
>> vuelto superlento y nadie me ha contestado.
>>
>> Simplemente quería saber si es que esto es así con la nueva versión de
>> xailer.
>>
>> Muchas gracias
>> Paco Martínez
>>
>>
>
Perdonen que insista...
Casi 3 millones.
<zeasoftware@hotmail.com> escribió en el mensaje news:[email=51af4b09@svctag-j7w3v3j....]51af4b09@svctag-j7w3v3j....[/email]
Yo uso algo parecido:
For Status == “A†.And. !Deleted()
Supongo tu campo BAJA es character 1
No veo mal en tu proceso, ya no lo tengo de esa manera, si no, hice uno basándome en uno de los ejemplos que trae Xailer...
Cuantos registros manejas?
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" <pacoelche@hotmail.com> escribió en el mensaje de noticias:[email=51aef048@svctag-j7w3v3j....]51aef048@svctag-j7w3v3j....[/email]
Si que es un campo de la dbf y efectivamente puede contener "S" o vacío " "
Cuando borro un registro de una dbf pongo este campo en "S" y ya no se muestra durante el trabajo. Hago esto en vez de utilizar DELETE, ya que tengo entendido que DELETE actúa como un SET FILTER y esto he comprobado que enlentece un poco el trabajo con un fichero dbf.
De vez en cuando reorganizo los ficheros y si que los borro definitivamente.
Gracias Alex
"Alex Gueca" <alexgueca@gmail.com> escribió en el mensaje news:51ae8073$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
BAJA es un campo en el DBF?
Lo tienes indicado como registro de baja con una 'S'?
Dame tu respuesta para indicarte pasos a seguir
Alex
------------------------------------------------------------ --------------------
"Francisco Martínez García" escribió en el mensaje de
noticias:51adb1c3$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Gracias por contestar Ramón:
Te adjunto el código que utilizo y que creo que no tiene nada raro (¡eso
creo!)
ERASE("FACTURAS_LINEAS.CDX")
USE FACTURAS_LINEAS EXCLUSIVE NEW
INDEX ON TARIFA+FACTURA TAG CLAVE1 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON DTOS(FECHA) TAG CLAVE2 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON PLATO TAG CLAVE3 TO FACTURAS_LINEAS FOR BAJA<>"S"
CLOS DATA
Si ves algo extraño o crees que se puede hacer de otra forma mejor te
agradecería que me lo dijeses.
Un saludo
Paco Martínez
<zeasoftware@hotmail.com> escribió en el mensaje
news:[email=51ad7149@svctag-j7w3v3j....]51ad7149@svctag-j7w3v3j....[/email]
Yo estoy usando aun DBF con mas de 1 millón de registros y no es para nada
lento, creo que habrías de checar tu modulo de indexación, si estas llamando
algún proceso extra y que hace dicho proceso.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:51a0881b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Perdonen que insista con una pregunta:
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
--
<zeasoftware@hotmail.com> escribió en el mensaje news:[email=51af4b09@svctag-j7w3v3j....]51af4b09@svctag-j7w3v3j....[/email]
Yo uso algo parecido:
For Status == “A†.And. !Deleted()
Supongo tu campo BAJA es character 1
No veo mal en tu proceso, ya no lo tengo de esa manera, si no, hice uno basándome en uno de los ejemplos que trae Xailer...
Cuantos registros manejas?
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" <pacoelche@hotmail.com> escribió en el mensaje de noticias:[email=51aef048@svctag-j7w3v3j....]51aef048@svctag-j7w3v3j....[/email]
Si que es un campo de la dbf y efectivamente puede contener "S" o vacío " "
Cuando borro un registro de una dbf pongo este campo en "S" y ya no se muestra durante el trabajo. Hago esto en vez de utilizar DELETE, ya que tengo entendido que DELETE actúa como un SET FILTER y esto he comprobado que enlentece un poco el trabajo con un fichero dbf.
De vez en cuando reorganizo los ficheros y si que los borro definitivamente.
Gracias Alex
"Alex Gueca" <alexgueca@gmail.com> escribió en el mensaje news:51ae8073$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
BAJA es un campo en el DBF?
Lo tienes indicado como registro de baja con una 'S'?
Dame tu respuesta para indicarte pasos a seguir
Alex
------------------------------------------------------------ --------------------
"Francisco Martínez García" escribió en el mensaje de
noticias:51adb1c3$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Gracias por contestar Ramón:
Te adjunto el código que utilizo y que creo que no tiene nada raro (¡eso
creo!)
ERASE("FACTURAS_LINEAS.CDX")
USE FACTURAS_LINEAS EXCLUSIVE NEW
INDEX ON TARIFA+FACTURA TAG CLAVE1 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON DTOS(FECHA) TAG CLAVE2 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON PLATO TAG CLAVE3 TO FACTURAS_LINEAS FOR BAJA<>"S"
CLOS DATA
Si ves algo extraño o crees que se puede hacer de otra forma mejor te
agradecería que me lo dijeses.
Un saludo
Paco Martínez
<zeasoftware@hotmail.com> escribió en el mensaje
news:[email=51ad7149@svctag-j7w3v3j....]51ad7149@svctag-j7w3v3j....[/email]
Yo estoy usando aun DBF con mas de 1 millón de registros y no es para nada
lento, creo que habrías de checar tu modulo de indexación, si estas llamando
algún proceso extra y que hace dicho proceso.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:51a0881b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Perdonen que insista con una pregunta:
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
--
Perdonen que insista...
Francisco:
Aun que estas utilizando índices condicionales (Por la clausula "FOR") en mi
experiencia con "CDX" siempre utilizo la clausula "DELETE" para eliminar
cualquier registro y pongo el "SET DELETED ON" para que no se muestren los
registros eliminados, hasta la reconstrucción de índices aplico el "PACK"
para eliminar esos registros físicamente, esto para que las bases de datos
no crezcan sin control, jamás uso el "RESUME", si quiero volver a dar de
alta un registro lo capturo de nuevo.
En la clausula "INDEX ON" la aplico de la siguiente forma, utilizando como
ejemplo una de tus clausulas:
USE FACTURAS_LINEAS EXCLUSIVE NEW
INDEX ON TARIFA+FACTURA TAG CLAVE1 TO FACTURAS_LINEAS FOR !DELETED()
Y me funciona rápido y eficiente, espero haberte ayudado para mejorar la
velocidad de tu reconstrucción de índices
Saludos
Alex
------------------------------------------------------------ --------------------
Si que es un campo de la dbf y efectivamente puede contener "S" o vacío " "
Cuando borro un registro de una dbf pongo este campo en "S" y ya no se
muestra durante el trabajo. Hago esto en vez de utilizar DELETE, ya que
tengo entendido que DELETE actúa como un SET FILTER y esto he comprobado que
enlentece un poco el trabajo con un fichero dbf.
De vez en cuando reorganizo los ficheros y si que los borro definitivamente.
Gracias Alex
"Alex Gueca" <alexgueca@gmail.com> escribió en el mensaje
news:51ae8073$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
BAJA es un campo en el DBF?
Lo tienes indicado como registro de baja con una 'S'?
Dame tu respuesta para indicarte pasos a seguir
Alex
------------------------------------------------------------ --------------------
"Francisco Martínez García" escribió en el mensaje de
noticias:51adb1c3$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Gracias por contestar Ramón:
Te adjunto el código que utilizo y que creo que no tiene nada raro (¡eso
creo!)
ERASE("FACTURAS_LINEAS.CDX")
USE FACTURAS_LINEAS EXCLUSIVE NEW
INDEX ON TARIFA+FACTURA TAG CLAVE1 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON DTOS(FECHA) TAG CLAVE2 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON PLATO TAG CLAVE3 TO FACTURAS_LINEAS FOR BAJA<>"S"
CLOS DATA
Si ves algo extraño o crees que se puede hacer de otra forma mejor te
agradecería que me lo dijeses.
Un saludo
Paco Martínez
<zeasoftware@hotmail.com> escribió en el mensaje
news:[email=51ad7149@svctag-j7w3v3j....]51ad7149@svctag-j7w3v3j....[/email]
Yo estoy usando aun DBF con mas de 1 millón de registros y no es para nada
lento, creo que habrías de checar tu modulo de indexación, si estas llamando
algún proceso extra y que hace dicho proceso.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:51a0881b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Perdonen que insista con una pregunta:
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
Aun que estas utilizando índices condicionales (Por la clausula "FOR") en mi
experiencia con "CDX" siempre utilizo la clausula "DELETE" para eliminar
cualquier registro y pongo el "SET DELETED ON" para que no se muestren los
registros eliminados, hasta la reconstrucción de índices aplico el "PACK"
para eliminar esos registros físicamente, esto para que las bases de datos
no crezcan sin control, jamás uso el "RESUME", si quiero volver a dar de
alta un registro lo capturo de nuevo.
En la clausula "INDEX ON" la aplico de la siguiente forma, utilizando como
ejemplo una de tus clausulas:
USE FACTURAS_LINEAS EXCLUSIVE NEW
INDEX ON TARIFA+FACTURA TAG CLAVE1 TO FACTURAS_LINEAS FOR !DELETED()
Y me funciona rápido y eficiente, espero haberte ayudado para mejorar la
velocidad de tu reconstrucción de índices
Saludos
Alex
------------------------------------------------------------ --------------------
Si que es un campo de la dbf y efectivamente puede contener "S" o vacío " "
Cuando borro un registro de una dbf pongo este campo en "S" y ya no se
muestra durante el trabajo. Hago esto en vez de utilizar DELETE, ya que
tengo entendido que DELETE actúa como un SET FILTER y esto he comprobado que
enlentece un poco el trabajo con un fichero dbf.
De vez en cuando reorganizo los ficheros y si que los borro definitivamente.
Gracias Alex
"Alex Gueca" <alexgueca@gmail.com> escribió en el mensaje
news:51ae8073$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
BAJA es un campo en el DBF?
Lo tienes indicado como registro de baja con una 'S'?
Dame tu respuesta para indicarte pasos a seguir
Alex
------------------------------------------------------------ --------------------
"Francisco Martínez García" escribió en el mensaje de
noticias:51adb1c3$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Gracias por contestar Ramón:
Te adjunto el código que utilizo y que creo que no tiene nada raro (¡eso
creo!)
ERASE("FACTURAS_LINEAS.CDX")
USE FACTURAS_LINEAS EXCLUSIVE NEW
INDEX ON TARIFA+FACTURA TAG CLAVE1 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON DTOS(FECHA) TAG CLAVE2 TO FACTURAS_LINEAS FOR BAJA<>"S"
INDEX ON PLATO TAG CLAVE3 TO FACTURAS_LINEAS FOR BAJA<>"S"
CLOS DATA
Si ves algo extraño o crees que se puede hacer de otra forma mejor te
agradecería que me lo dijeses.
Un saludo
Paco Martínez
<zeasoftware@hotmail.com> escribió en el mensaje
news:[email=51ad7149@svctag-j7w3v3j....]51ad7149@svctag-j7w3v3j....[/email]
Yo estoy usando aun DBF con mas de 1 millón de registros y no es para nada
lento, creo que habrías de checar tu modulo de indexación, si estas llamando
algún proceso extra y que hace dicho proceso.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:51a0881b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Perdonen que insista con una pregunta:
¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
versiones anteriores de Xailer?
Hace unos días expuse un problema por el que el proceso de indexar se ha
vuelto superlento y nadie me ha contestado.
Simplemente quería saber si es que esto es así con la nueva versión de
xailer.
Muchas gracias
Paco Martínez
Perdonen que insista...
Amigos:
Ya me he mudado a MariaDB, pero desde finales de los ochenta con nuestro amado Clipper summer 87, me hice unas funciones que reconstruidas en Clipper 5.x y metidas en mi libreria personal me permitian reciclar los registros 'deleteados' en lugar de hacer nuevos append blank (siempre que no hubiese ninguna necesidad de hacer recall) y con ello siempre mantuve agiles a las DBF's independientemente de que en algunos casos las hay (todavia viven algunas de mis viejas aplicaciones de 16 bits) con 3 o mas millones de registros activos.
Para quien no ha dado el paso hacia SQL, les recomiendo considerar esta alternativa, ya que hacer packs sin respaldo es peligroso.
Saludos
Ya me he mudado a MariaDB, pero desde finales de los ochenta con nuestro amado Clipper summer 87, me hice unas funciones que reconstruidas en Clipper 5.x y metidas en mi libreria personal me permitian reciclar los registros 'deleteados' en lugar de hacer nuevos append blank (siempre que no hubiese ninguna necesidad de hacer recall) y con ello siempre mantuve agiles a las DBF's independientemente de que en algunos casos las hay (todavia viven algunas de mis viejas aplicaciones de 16 bits) con 3 o mas millones de registros activos.
Para quien no ha dado el paso hacia SQL, les recomiendo considerar esta alternativa, ya que hacer packs sin respaldo es peligroso.
Saludos
Saludos amigos.
Perdonen que insista...
Amigos:
Creo que es mas útil que les muestre el código de las funciones mencionadas:
Para borrar logicamente:
#xtranslate OverArgs( <Arg>, <VTy>, <Def> ) => ;
IF( <Arg> = NIL, <Def>, IF( VALTYPE( <Arg> ) != <VTy>, <Def>, <Arg> ) )
FUNCTION OverNDel( lRetry, cAlias, nUserx, nTime, lConfirm )
LOCAL lSuccessFull := .F.
LOCAL nCount
LOCAL nLimit := ( cAlias )->( FCount() )
LOCAL bBlock
lRetry := OverArgs( lRetry , 'L', .F. )
cAlias := OverArgs( cAlias , 'C', Alias() )
nTime := OverArgs( nTime , 'N', 10 )
lConfirm := OverArgs( lConfirm, 'L', .T. )
// Asegura operacion del semaforo validando nUser.
IF ( ValType( nUserx ) != 'N' .OR. Empty( nUserx ) )
RETURN lSuccessFull
ENDIF
// Solicita confirmacion para la supresion del registro.
IF lConfirm
IF !( MsgYesNo( 'CONFIRME BORRADO DE REGISTRO' ))
RETURN lSuccessFull
ENDIF
ENDIF
// Intenta bloquear registro.
IF !( OverNTry( {|| ( cAlias)->( DbRLock())}, ;
If( lRetry, { || MsgYesNo( 'REINTENTAR ACCESO A RED ?' ) }, .F. ), nUserx, nTime ) )
RETURN lSuccessFull
ENDIF
FOR nCount := 1 TO nLimit
IF ValType( ( cAlias )->&( Field( nCount ) ) ) = 'C'
bBlock := { || Space( Len( ( cAlias )->( &( Field( nCount) ) ) ) ) }
ELSEIF ValType( ( cAlias )->&( Field( nCount ) ) ) = 'D'
bBlock := { || CTOD( '' ) }
ELSEIF ValType( ( cAlias )->&( Field( nCount ) ) ) = 'L'
bBlock := { || .F. }
ELSEIF ValType( ( cAlias )->&( Field( nCount ) ) ) = 'M'
//bBlock := { || }
LOOP
ELSEIF ValType( ( cAlias )->&( Field( nCount ) ) ) = 'N'
bBlock := { || 0 }
ENDIF
// Reinicializa el campo en cuestion con valor minimo, lo que provoca que sea
// cual fuere el campo de indexación, el registro aparezca al principio.
( cAlias )->&( Field( nCount ) ) := Eval( bBlock )
NEXT nCount
( cAlias)->( DbDelete() )
// Flush y Refresh.
OverNFls( 2, cAlias )
// Si lo borró.
lSuccessFull := .T.
RETURN lSuccessFull
Para 'agregar' registro:
FUNCTION OverNAdd( lRetry, cAlias, nUserx, lmodo, nTime)
LOCAL lSuccessFull := .F.
OverArgs( lRetry, 'L', .F.)
OverArgs( cAlias, 'C', 10 )
OverArgs( lModo, 'L', .T.)
OverArgs( nTime, 'N', 10 )
SET DELETED OFF
IF lmodo
// Intenta localizar un empty al principio.
( cAlias )->( DBGoTop() )
ELSE
// Intenta localizar un empty al final.
( cAlias )->( DBGoBottom() )
ENDIF
IF ( cAlias )->( Deleted() ) .AND. Empty( ( cAlias )->( Field( 1) ) )
// Asegura operacion del semaforo validando nUser.
// Intenta bloquear registro.
IF ( ValType( nUserx ) != 'N' .OR. Empty( nUserx ) ) .OR. ;
!( lSuccessFull := OverNTry( { || ( cAlias)->( DbRLock() ) }, ;
If( lRetry, { || MsgYesNo( 'REINTENTAR ACCESO A RED ?' ) }, .F. ), nUserx, nTime ) )
SET DELETED ON
RETURN lSuccessFull
ELSE
( cAlias )->( DbRecall() )
ENDIF
ELSE
// Adiciona un registro en blanco.
( cAlias )->( DbAppend() )
lSuccessFull := .T.
ENDIF
// Registrar datos del usuario en campo semaforo.
( cAlias )->net_name := Str( nUserx, 5 )
SET DELETED ON
RETURN lSuccessFull
Saludos.
Creo que es mas útil que les muestre el código de las funciones mencionadas:
Para borrar logicamente:
#xtranslate OverArgs( <Arg>, <VTy>, <Def> ) => ;
IF( <Arg> = NIL, <Def>, IF( VALTYPE( <Arg> ) != <VTy>, <Def>, <Arg> ) )
FUNCTION OverNDel( lRetry, cAlias, nUserx, nTime, lConfirm )
LOCAL lSuccessFull := .F.
LOCAL nCount
LOCAL nLimit := ( cAlias )->( FCount() )
LOCAL bBlock
lRetry := OverArgs( lRetry , 'L', .F. )
cAlias := OverArgs( cAlias , 'C', Alias() )
nTime := OverArgs( nTime , 'N', 10 )
lConfirm := OverArgs( lConfirm, 'L', .T. )
// Asegura operacion del semaforo validando nUser.
IF ( ValType( nUserx ) != 'N' .OR. Empty( nUserx ) )
RETURN lSuccessFull
ENDIF
// Solicita confirmacion para la supresion del registro.
IF lConfirm
IF !( MsgYesNo( 'CONFIRME BORRADO DE REGISTRO' ))
RETURN lSuccessFull
ENDIF
ENDIF
// Intenta bloquear registro.
IF !( OverNTry( {|| ( cAlias)->( DbRLock())}, ;
If( lRetry, { || MsgYesNo( 'REINTENTAR ACCESO A RED ?' ) }, .F. ), nUserx, nTime ) )
RETURN lSuccessFull
ENDIF
FOR nCount := 1 TO nLimit
IF ValType( ( cAlias )->&( Field( nCount ) ) ) = 'C'
bBlock := { || Space( Len( ( cAlias )->( &( Field( nCount) ) ) ) ) }
ELSEIF ValType( ( cAlias )->&( Field( nCount ) ) ) = 'D'
bBlock := { || CTOD( '' ) }
ELSEIF ValType( ( cAlias )->&( Field( nCount ) ) ) = 'L'
bBlock := { || .F. }
ELSEIF ValType( ( cAlias )->&( Field( nCount ) ) ) = 'M'
//bBlock := { || }
LOOP
ELSEIF ValType( ( cAlias )->&( Field( nCount ) ) ) = 'N'
bBlock := { || 0 }
ENDIF
// Reinicializa el campo en cuestion con valor minimo, lo que provoca que sea
// cual fuere el campo de indexación, el registro aparezca al principio.
( cAlias )->&( Field( nCount ) ) := Eval( bBlock )
NEXT nCount
( cAlias)->( DbDelete() )
// Flush y Refresh.
OverNFls( 2, cAlias )
// Si lo borró.
lSuccessFull := .T.
RETURN lSuccessFull
Para 'agregar' registro:
FUNCTION OverNAdd( lRetry, cAlias, nUserx, lmodo, nTime)
LOCAL lSuccessFull := .F.
OverArgs( lRetry, 'L', .F.)
OverArgs( cAlias, 'C', 10 )
OverArgs( lModo, 'L', .T.)
OverArgs( nTime, 'N', 10 )
SET DELETED OFF
IF lmodo
// Intenta localizar un empty al principio.
( cAlias )->( DBGoTop() )
ELSE
// Intenta localizar un empty al final.
( cAlias )->( DBGoBottom() )
ENDIF
IF ( cAlias )->( Deleted() ) .AND. Empty( ( cAlias )->( Field( 1) ) )
// Asegura operacion del semaforo validando nUser.
// Intenta bloquear registro.
IF ( ValType( nUserx ) != 'N' .OR. Empty( nUserx ) ) .OR. ;
!( lSuccessFull := OverNTry( { || ( cAlias)->( DbRLock() ) }, ;
If( lRetry, { || MsgYesNo( 'REINTENTAR ACCESO A RED ?' ) }, .F. ), nUserx, nTime ) )
SET DELETED ON
RETURN lSuccessFull
ELSE
( cAlias )->( DbRecall() )
ENDIF
ELSE
// Adiciona un registro en blanco.
( cAlias )->( DbAppend() )
lSuccessFull := .T.
ENDIF
// Registrar datos del usuario en campo semaforo.
( cAlias )->net_name := Str( nUserx, 5 )
SET DELETED ON
RETURN lSuccessFull
Saludos.
Saludos amigos.
-
- Mensajes: 1831
- Registrado: Mar Oct 11, 2005 9:53 am
Perdonen que insista...
Yo hago eso, por que manejo una especie de papelera, donde el usuario puede
recuperar ciertos datos, esto con Delete(); y un proceso de depuración donde
los elimino físicamente de la DBF (mantenimiento).
Exactamente que quieres hacer?
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:[email=51af5462@svctag-j7w3v3j....]51af5462@svctag-j7w3v3j....[/email]
Hola Carlos:
Precisamente porque (creo) que con "delete" enlentece no lo utilizo e
inutilizo las líneas que doy de baja con el FOR BAJA<>"S", que lo único que
hace es no indexar esas líneas.
"Carlos Ortiz" <cortizassist@hotmail.com> escribió en el mensaje
news:51af5369$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> ojo, cuando las dbf tienen muchos registros deleteados se pone muy lerda
> su gestión.
>
> El 25/05/2013 06:45, Francisco Martínez García escribió:
>> Perdonen que insista con una pregunta:
>>
>> ¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
>> versiones anteriores de Xailer?
>>
>> Hace unos días expuse un problema por el que el proceso de indexar se ha
>> vuelto superlento y nadie me ha contestado.
>>
>> Simplemente quería saber si es que esto es así con la nueva versión de
>> xailer.
>>
>> Muchas gracias
>> Paco Martínez
>>
>>
>
recuperar ciertos datos, esto con Delete(); y un proceso de depuración donde
los elimino físicamente de la DBF (mantenimiento).
Exactamente que quieres hacer?
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:[email=51af5462@svctag-j7w3v3j....]51af5462@svctag-j7w3v3j....[/email]
Hola Carlos:
Precisamente porque (creo) que con "delete" enlentece no lo utilizo e
inutilizo las líneas que doy de baja con el FOR BAJA<>"S", que lo único que
hace es no indexar esas líneas.
"Carlos Ortiz" <cortizassist@hotmail.com> escribió en el mensaje
news:51af5369$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> ojo, cuando las dbf tienen muchos registros deleteados se pone muy lerda
> su gestión.
>
> El 25/05/2013 06:45, Francisco Martínez García escribió:
>> Perdonen que insista con una pregunta:
>>
>> ¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
>> versiones anteriores de Xailer?
>>
>> Hace unos días expuse un problema por el que el proceso de indexar se ha
>> vuelto superlento y nadie me ha contestado.
>>
>> Simplemente quería saber si es que esto es así con la nueva versión de
>> xailer.
>>
>> Muchas gracias
>> Paco Martínez
>>
>>
>
Ramón Zea
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/
Perdonen que insista...
Hola Ramón:
Mi único problema es que cuando reindexo los ficheros tarda muchísimo más tiempo que antes.
Cuando tenía compilados los programas con Xailer 1.9 (xHarbour) me tardaba unos 3 minutos, ahora con Xailer 3 (Harbour) me tarda unos 27 minutos.
Como ya comenté anteriormente el trabajo diario con el programa no parece que se haya vuelto más lento, solo cuando reindexo. Menos mal que esto solo lo utilizo un par de veces al mes y cuando me aseguro que ninguno de los usuarios está utilizando el programa.
Gracias por tu interés
<zeasoftware@hotmail.com> escribió en el mensaje news:[email=51afb0c1@svctag-j7w3v3j....]51afb0c1@svctag-j7w3v3j....[/email]
Yo hago eso, por que manejo una especie de papelera, donde el usuario puede
recuperar ciertos datos, esto con Delete(); y un proceso de depuración donde
los elimino físicamente de la DBF (mantenimiento).
Exactamente que quieres hacer?
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:[email=51af5462@svctag-j7w3v3j....]51af5462@svctag-j7w3v3j....[/email]
Hola Carlos:
Precisamente porque (creo) que con "delete" enlentece no lo utilizo e
inutilizo las líneas que doy de baja con el FOR BAJA<>"S", que lo único que
hace es no indexar esas líneas.
"Carlos Ortiz" <cortizassist@hotmail.com> escribió en el mensaje
news:51af5369$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> ojo, cuando las dbf tienen muchos registros deleteados se pone muy lerda
> su gestión.
>
> El 25/05/2013 06:45, Francisco Martínez García escribió:
>> Perdonen que insista con una pregunta:
>>
>> ¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
>> versiones anteriores de Xailer?
>>
>> Hace unos días expuse un problema por el que el proceso de indexar se ha
>> vuelto superlento y nadie me ha contestado.
>>
>> Simplemente quería saber si es que esto es así con la nueva versión de
>> xailer.
>>
>> Muchas gracias
>> Paco Martínez
>>
>>
>
--
Mi único problema es que cuando reindexo los ficheros tarda muchísimo más tiempo que antes.
Cuando tenía compilados los programas con Xailer 1.9 (xHarbour) me tardaba unos 3 minutos, ahora con Xailer 3 (Harbour) me tarda unos 27 minutos.
Como ya comenté anteriormente el trabajo diario con el programa no parece que se haya vuelto más lento, solo cuando reindexo. Menos mal que esto solo lo utilizo un par de veces al mes y cuando me aseguro que ninguno de los usuarios está utilizando el programa.
Gracias por tu interés
<zeasoftware@hotmail.com> escribió en el mensaje news:[email=51afb0c1@svctag-j7w3v3j....]51afb0c1@svctag-j7w3v3j....[/email]
Yo hago eso, por que manejo una especie de papelera, donde el usuario puede
recuperar ciertos datos, esto con Delete(); y un proceso de depuración donde
los elimino físicamente de la DBF (mantenimiento).
Exactamente que quieres hacer?
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Francisco Martínez García" escribió en el mensaje de
noticias:[email=51af5462@svctag-j7w3v3j....]51af5462@svctag-j7w3v3j....[/email]
Hola Carlos:
Precisamente porque (creo) que con "delete" enlentece no lo utilizo e
inutilizo las líneas que doy de baja con el FOR BAJA<>"S", que lo único que
hace es no indexar esas líneas.
"Carlos Ortiz" <cortizassist@hotmail.com> escribió en el mensaje
news:51af5369$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> ojo, cuando las dbf tienen muchos registros deleteados se pone muy lerda
> su gestión.
>
> El 25/05/2013 06:45, Francisco Martínez García escribió:
>> Perdonen que insista con una pregunta:
>>
>> ¿Es normal que crear índices CDX, con Xailer.3 tarde mucho más que con
>> versiones anteriores de Xailer?
>>
>> Hace unos días expuse un problema por el que el proceso de indexar se ha
>> vuelto superlento y nadie me ha contestado.
>>
>> Simplemente quería saber si es que esto es así con la nueva versión de
>> xailer.
>>
>> Muchas gracias
>> Paco Martínez
>>
>>
>
--