La Web del Programador: Comunidad de Programadores
 
    Pregunta:  413 - UTILIZAR INDICES EN FORMATO RDD
Autor:  Gerardo Trefil
Me interesaria saber de que manera debo generar uno omas indices estructurados en un sistema. De ser asi, varia mucho en red (Novell) yaque tengo un sistema funcionando en red. La base principal consta de 500.000 registros con un creciomiento mensual de 34.000. La base consta de seis indices, que tambien crecen en capacidad y a veces se torna "pesada" la red en el momento de la actualizacion.
En concreto, deseo saber la forma de utilizar el RDD y si realmente sirve para liberar un poco mas de memoria, tanto de trabajo como la de almacenamiento de disco. Desde ya muy agradecido por sus respuestas.-

  Respuesta:  Luis Delgado M
La guia de norton para clipper 5.2e y 5.3, explica como utilizar los RDD, a continuacion tal y como aparece en dicha guia: (DBFCDX es el más rápido y eficiente)

Using the DBFCDX Database Driver
----------

To use FoxPro 2 files in a CA-Clipper program:

1. Place REQUEST DBFCDX at the beginning of your application or at the top of the first program file (.prg) that opens a database file using the DBFCDX driver.

2. Specify the VIA "DBFCDX" clause if you open the database file with the USE command.

-OR-

3. Specify "DBFCDX" for the argument if you open the database file with the DBUSEAREA() function.

-OR-

4. Use RDDSETDEFAULT( "DBFCDX" ) to set the default driver to DBFCDX. Except in the case of REQUEST, the RDD name must be a literal character string or a variable. In all cases it is important tha the driver name be spelled correctly.

The following program fragments illustrate:

REQUEST DBFCDX // siempre al inicio del programa si usas clipper 5.3 debes agregar a esta linea ,_DBFCDX o sea quedaria asi --> REQUEST DBFCDX,_DBFCDX
.
.
USE Customers INDEX Name, Address NEW VIA "DBFCDX"

-OR-

REQUEST DBFCDX
RDDSETDEFAULT( "DBFCDX" )
.
.
USE Customers INDEX Name, Address NEW

----------
Ademas debes de incluir las librerias al ligar tus programas:

Ejemplo:

blinker fi pro01,pro02,pro03 lib milibreria,dbfcdx (mas _dbfcdx si utilizas clipper 5.3)
Por otro lado los CDX indices son mas pequeños, eficientes y rapidos que los otros (estos estan compactados)
Ademas si deseas utilizar mejor la memoria puedes hacer que tus programas corran el modo protegido, asi no estan limitados a la memoria convencional, por el contrario puedes utilizar memoria extendida.
Yo he realizado programas en esta forma y corren perfectamente en DOS, WINDOWS 3.11 y WINDOWS 95

Espero que te sirva de ayuda. Si tienes alguna duda si puedo y esta a mi conocimiento con mucho gusto te ayudo.