Blog

Índices – Programación comparada

Hace unos meses publiqué un artículo teórico sobre las nuevas funcionalidades de los índices en V7. Hoy quiero mostrar un par de ejemplos prácticos de programación comparada en Velneo 6.4 y en V7.

Ejemplo 1: Indexar albaranes por año

En Velneo 6.4 si queremos indexar albaranes por el año de la fecha tendríamos que crear un campo de tipo numérico cuyo contenido inicial fuese fAño( %FECHA% ) y crear un índice con el mismo.

Dado que en V7 es posible indexar fórmulas, si queremos hacer esto mismo solamente tendremos que crear un índice en el que la parte indexada sea la fórmula que devuelve el año de la fecha:

Índices - Programación comparada 1

Ejemplo 2: Búsqueda de vencimientos remesados y vencidos

En Velneo 6.4 en una tabla de vencimientos que contiene, entre otros, dos campos boleanos (REMESADO y VENCIDO), si queremos crear un índice que nos devuelva una lista de los vencimientos remesados y vencidos, tendríamos que añadir a la tabla otro campo booelano con el contenido inicial siguiente:

%REMESADO% & %VENCIDO%

Y usar este nuevo campo como campo condición para indexar en las propiedades del nuevo índice.

En V7 para hacer esto mismo simplemente tendremos que crear un índice que indexe el campo deseado de la tabla de vencimientos (código, fecha, etc.), condicionado por la fórmula siguiente:

Índices - Programación comparada 2

10 thoughts on “Índices – Programación comparada

  1. Hola, esto tiene buena pinta.

    Pero, ¿como afectará al rendimiento un indice en modo fórmula?

    ¿Se podrá usar habitualmente o habrá que limitarlo a casos puntuales?

    Un saludo.

    Francisco.

  2. Supongo que si son índices que varían poco y las condiciones son «simples» no afectará al rendimiento, es decir, si el índice (condicionado o no) no varía, ni siquiera evaluará la condición, por lo que supongo que no habrá penalización en el rendimiento ¿es así?

  3. Francisco, en los casos que he puesto de ejemplo en el artículo no habrá diferencia de rendimiento pues se trata de fórmulas secillas.

    El rendimiento dependerá directamente de la complejidad de la fórmula que tenga que evaluar el calculador. De hecho, en estas fórmulas solamente se permite usar campos de la tabla, no se permite usar campos de tablas enlazadas ni tampoco llamar a funciones, por ejemplo, dado que ambas cosas mermarían el rendimiento.

    Un saludo.

Dejar un comentario