* Última atualização
O todo é maior que a soma das partes?
Esta é uma pergunta na que pensamos ao criar alguns novos algoritmos em 4D v11 SQL. Ainda que cada comando tenha recebido atenção individual e sabemos como valorizar suas melhoras por meio de testes individuais, é a percepção do usuário a que determina a melhora total no rendimento.
Levando isto em conta, pensamos que seria interessante fazer os testes com a aplicação mais real possível, submentendo-a a um fluxo constante de requisições simultâneas num ambiente Cliente/Servidor. Convidamos-lhe a descobrir alguns dos resultados.

Para ilustrar certos comportamentos de 4D SQL v11, vamos estabelecer algumas requisições desde uma estrutura simples – neste caso um subconjunto de uma aplicação para a direção de um call center.
O banco de dados mantém um registros das comunicações entre intercâmbios telefônicos e as diferentes requisições estatísticas são realizadas por operadores em computadores cliente.
| Intercambios | 1,000 |
| Clientes | 10,000 |
| Linhas telefônicas | 100,000 |
| Comunicações | 1,000,000 |
| Contas | Variável |
A seguir estão os resultados das seqüências operacionais típicas para este tipo de atividade:

Seqüência 1: Número de comunicações por região
Para obter uma descrição geográfica das comunicações, queremos estabelecer o número de escritórios por região. Para isso, utilizaremos o código postal.
Por exemplo, os clientes localizados nos Alpes Marítimos da França têm um código postal entre 06000 e 06999. As consultas são realizadas em um campo dependente, já que realizamos uma busca na tabela [communication] com um critério de busca no campo associado codepostal[customer].
As otimizações do motor 4D v11 SQL trazem uma melhora no rendimento de 20%.
Seqüência 2: Volume de vendas mensal do cliente
Seqüência 3: Volume de vendas em tempo real
Em geral não é útil consultar dados que não serão utilizados. 4D v11 SQL antecipa a execução do código e carrega a informação necessária para que o motor acesse aos dados e acelere as operações posteriores.
Nestes dois exemplos, consultamos todas as comunicações de um dia dado ou as comunicações mensais de um cliente. Logo, calculamos a soma do campo “price.”
As otimizações em 4D v11 SQL nos permitem realizar este cálculo de 2 a 4 vezes mais rápido que antes.
Seqüência 4: Lista de comunicações
Queremos estabelecer uma lista detalhada de comunicações realizadas a cada dia:

Para fazer isso, voltamos aos links automáticos do esquema anterior.
Para cada comunicação utilizamos o comando RELATE ONE para selecionar e carregar os registros selecionados.
Em cliente/servidor, os registros para as tabelas [phone_exchange], [customer] e [line] devem ser transferidos ao cliente final.
Uma otimização em 4D v11 SQL permite a carga e transferência dos três arquivos relacionados em uma só requisição, reduzindo o número de requisições que passam por uma rede.
Nas condições nas quais realizamos este teste, 4D v11 SQL é oito vezes mais rápido que 4D 2004.