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