Esta página foi traduzida por máquina. Leia o original em inglês. English

Biblioteca IBSurgeon

Usando prefixo de data para acelerar consultas com colunas DATE

Piada de Sexta-Feira do Firebird #5 (de https://t.me/firebirdsql)

Você sabia que o Firebird suporta um prefixo especial para parâmetros de data simbólicos?

Se por algum motivo você estiver especificando uma condição para a coluna do tipo DATE e comparando-a com uma constante de string, você pode especificar o prefixo date antes do parâmetro, para informar ao Firebird que ele deve considerá-lo como uma data.

Como resultado, a consulta pode ficar até 25% mais rápida!

Veja o exemplo abaixo:

Code
SQL> select count(*) from SYNC_DATA where DATE_IN > '01-AUG-2019';

                COUNT
=====================
              3846157

Current memory = 17092054352
Delta memory = 0
Max memory = 17115757856
Elapsed time = 6.339 sec
Buffers = 512000
Reads = 0
Writes = 0
Fetches = 3900383
SQL> select count(*) from SYNC_DATA where DATE_IN > date '01-AUG-2019';

                COUNT
=====================
              3846157

Current memory = 17092054368
Delta memory = 16
Max memory = 17115757856
Elapsed time = 4.933 sec
Buffers = 512000
Reads = 0
Writes = 0
Fetches = 3900383
SQL>

Claro, é sempre melhor usar statements preparados!

Para novas Piadas de Sexta-Feira do Firebird e notícias relacionadas ao Firebird, assine o telegram do FirebirdSQL https://t.me/firebirdsql