FoxPro/Visual FoxPro - Archivos CDX

 
Vista:
sin imagen de perfil
Val: 96
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Archivos CDX

Publicado por roberto (55 intervenciones) el 09/07/2020 15:55:07
Hola a todos, tengo una duda que quiero compartir, cuando uno crea una tabla, se pueden crear indices en la misma herramienta con algunas propiedades que se almacenan en un archivo con el nombre de la tabla y extención .cdx

También exista la alternativa de crear indices desde el código, con el comando index on campo to nombre indice que crea un archivo con extención idx.

Esta ultima era la forma tradicional desde DBase II pasando por Clipper y Foxpro2.x.

Al comenzar a utilizar el VFP 9.0, comencé a cambia la forma de acceder a las tablas (Libres por cierto para comenzar el aprendizaje) , utilizando mucho las sentencias sql como una forma de modernizarme de mis tiempos de clipper 5.01

Ahora bien, me di cuenta que por error estaba utilizando tablas sin ningún tipo de indice ya sea porque no se los cree o porque los borre, y la sentencia select del sql hace igual su pega de buscar, selecciona y encontrar.

Si relaciono tablas con join, los resultados son los requeridos.

Entonces la pregunta es, que funcion cumplen los indices con las instrucciones sql?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 309
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Archivos CDX

Publicado por santiago (551 intervenciones) el 09/07/2020 17:26:41
Hola, la función es VELOCIDAD, esto se aprecia cuando tienes tablas con muchos miles de registros, por ejemplo:

tenemos una tabla de 1000 registros y queremos ubicar un dato dentro de esos 1000 (no lo sabemos pero ese dato esta en el registro numero 600).

El método sin indices busca de uno en uno, y comienza con el numero 1 y dice "este es el dato que busco?" = NO, continua con el numero 2 y vuelve a preguntar "este es el dato que busco?" = NO, así hasta el 600 donde la respuesta es SI.

El método con indices hace saltos en la tabla, salta al 500 y dice "este es el dato que busco?" = NO, "esta antes o después?" = DESPUÉS
salta al 750 y vuelve a preguntar "este es el dato que busco?" = NO, "esta antes o después?" = ANTES
salta al 625 y vuelve a preguntar "este es el dato que busco?" = NO, "esta antes o después?" = ANTES
salta al 563 y vuelve a preguntar "este es el dato que busco?" = NO, "esta antes o después?" = DESPUÉS
salta al 595 y vuelve a preguntar "este es el dato que busco?" = NO, "esta antes o después?" = DESPUÉS
salta al 598 y vuelve a preguntar "este es el dato que busco?" = NO, "esta antes o después?" = DESPUÉS
salta al 599 y vuelve a preguntar "este es el dato que busco?" = NO, "esta antes o después?" = DESPUÉS
salta al 600 y vuelve a preguntar "este es el dato que busco?" = SI

El método sin indices tuvo que dar 600 saltos para encontrar el dato.

El método con indices tuvo que dar solo 8 saltos para encontrar el dato.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar