Quiero pasarme a trabajar con índices CDX en vez de los NTX pero necesito que alguien me de algunas recomendaciones previas y si existe algún manual al respecto.
Utilizo xHarbour de PuertoSur para fw 2.4
Gracias.
indices cdx
- leandro
- Posts: 1779
- Joined: Wed Oct 26, 2005 2:49 pm
- Location: Colombia
- Has thanked: 53 times
- Been thanked: 16 times
- Contact:
lo hago asi...
al inicio de tu programa colocas lo siguiente...
y los indices los genero de la siguiente manera...
Espero te sirva...
ah: nunca me han fallado hasta el momento....
Code: Select all | Expand
REQUEST DBFCDX
RddSetDefault("DBFCDX")
y los indices los genero de la siguiente manera...
Code: Select all | Expand
USE (oLamcla:tPrem) ALIAS tPrem EXCLUSIVE NEW
IF !NETERR()
oProgress:nPosition += 1
FERASE(oLamcla:tPrem+".CDX")
IF FILE(oLamcla:tPrem+".CDX")
ELSE
INDEX ON Articulo TAG nTcod
INDEX ON nombre TAG nTnom
ENDIF
ELSE
MSGINFO(oLamcla:tPrem)
ENDI
tPrem->(dbclosearea())
Espero te sirva...
ah: nunca me han fallado hasta el momento....
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
- jose_murugosa
- Posts: 1196
- Joined: Mon Feb 06, 2006 4:28 pm
- Location: Uruguay
- Been thanked: 1 time
- Contact:
Un detalle importante
Un detalle importante como habrás visto en el ejemplo anterior es que los índices cdx no se reindexan (aunque se puede hacer) sino que se borran y se vuelven a crear, esto se debe a un bug de estos índices que hace que la información anterior quede dentro del archivo aunque "desconectada" con lo cual cada vez que reindexas el archivo aumenta de tamaño sustancialmente.
Debes tener en cuenta que si usas la cláusula SET AUTOPEN ON debes ponerla en OFF antes de indizar, de otro modo el archivo CDX se abrirá junto con la base y no podrás borrarlos luego de recrear los índices la volverás a poner en ON.
Te adjunto un par de documentos del Rafa Carmona sobre DBFCDX ( no te asustes son unas 5 páginas) a mí me ayudaron sustancialmente en el uso de estos índices.
bajalo en:
http://hyperupload.com/download/01d627c ... x.exe.html
(son dos pdf en un archivo self stracting de Rar)
Verás que trabajando con SET AUTOPEN ON y e INDICES BAG ESTRUCTURALES te ahorrarás cientos de líneas de código e índices corruptos.
Un fuerte abrazo.
Debes tener en cuenta que si usas la cláusula SET AUTOPEN ON debes ponerla en OFF antes de indizar, de otro modo el archivo CDX se abrirá junto con la base y no podrás borrarlos luego de recrear los índices la volverás a poner en ON.
Te adjunto un par de documentos del Rafa Carmona sobre DBFCDX ( no te asustes son unas 5 páginas) a mí me ayudaron sustancialmente en el uso de estos índices.

bajalo en:
http://hyperupload.com/download/01d627c ... x.exe.html
(son dos pdf en un archivo self stracting de Rar)
Verás que trabajando con SET AUTOPEN ON y e INDICES BAG ESTRUCTURALES te ahorrarás cientos de líneas de código e índices corruptos.

Un fuerte abrazo.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
- Armando
- Posts: 3279
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 4 times
- Contact:
Verhoven, Leandro y José:
Con la función ORDLISTREBUILD() y no he tenido problemas.
denle una mirada.
Saludos, Armando
Con la función ORDLISTREBUILD() y no he tenido problemas.
denle una mirada.
Saludos, Armando
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero