* Última actualización
¿Es el todo mayor que la suma de sus partes?
Esta es la pregunta en la que pensamos al crear algunos de los nuevos algoritmos en 4D v11 SQL. Aunque cada comando ha recibido atención individual y sabemos cómo valorar sus mejoras por medio de pruebas individuales, es la percepción del usuario la que determina la mejora total en el rendimiento.
Teniendo esto en cuenta, pensamos que sería interesante dirigir nuestras pruebas con la aplicación más realista posible, sometiéndola a un flujo constante de peticiones simultáneas en un entorno Cliente/Servidor. Lo invitamos a descubrir algunos de los resultados.

Para ilustrar ciertos comportamientos de 4D SQL v11, vamos a establecer algunas peticiones desde una estructura simple – en este caso un subconjunto de una aplicación para la dirección de un call center.
La base de datos mantiene un registro de las comunicaciones entre intercambios telefónicos y las diferentes peticiones estadísticas son realizadas por operadores en equipos cliente.
| Intercambios | 1,000 |
| Clientes | 10,000 |
| Líneas telefónicas | 100,000 |
| Comunicaciones | 1,000,000 |
| Cuentas | Variable |
A continuación están los resultados de las secuencias operacionales típicas para este tipo de actividad:

Secuencia 1: Número de comunicaciones por región
Para obtener una descripción geográfica de las comunicaciones, queremos establecer el número de oficinas por región. Para esto, utilizaremos el código postal.
Por ejemplo, los clientes ubicados en los Alpes Marítimos de Francia tienen un código postal entre 06000 y 06999. La consulta se realiza en un campo dependiente, ya que realizamos una búsqueda en la tabla [communication] con un criterio de búsqueda en el campo asociado codepostal[customer].
Las optimizaciones del motor 4D v11 SQL traen una mejora en el rendimiento del 20%.
Secuencia 2: Volumen de ventas mensual del cliente
Secuencia 3: Volumen de ventas en tiempo real
Por lo general no es útil consultar datos que no se utilizarán. 4D v11 SQL anticipa la ejecución del código y precarga la información necesaria para que el motor acceda a los datos y acelerar las operaciones posteriores.
En estos dos ejemplos, consultamos todas las comunicaciones de un día dado o las comunicaciones mensuales de un cliente. Luego, calculamos la suma del campo "price."
Las optimizaciones en 4D v11 SQL nos permiten realizar este cálculo de 2 a 4 veces más rápido que antes.
Secuencia 4: Lista de comunicaciones
Queremos establecer una lista detallada de comunicaciones realizadas cada día:

Para hacerlo volvemos a los enlaces automáticos morados en el esquema anterior.
Para cada comunicación, utilizamos el comando RELATE ONE para seleccionar y cargar los registros seleccionados.
En cliente/servidor, los registros para las tablas [phone_exchange], [customer] y [line] deben ser transferidos al cliente final.
Una optimización en 4D v11 SQL permite la carga y transferencia de los tres archivos relacionados en una sola petición, reduciendo el número de peticiones que pasan por una red.
En las condiciones en las cuales realizamos esta prueba, 4D v11 SQL resulta ser ocho veces más rápida que 4D 2004.