Esta página fue traducida automáticamente. Lee el original en inglés. English

Biblioteca de IBSurgeon

Usando el prefijo de fecha para acelerar consultas con columnas DATE

Chiste del Viernes de Firebird #5 (de https://t.me/firebirdsql)

¿Sabías que Firebird admite un prefijo especial para parámetros de fecha simbólicos?

Si por alguna razón estás especificando una condición para la columna de tipo DATE y la comparas con una constante de cadena, puedes especificar el prefijo date antes del parámetro, para informar a Firebird que debe considerarlo como una fecha.

Como resultado, ¡la consulta puede ser hasta un 25% más rápida!

Vea el ejemplo a continuación:

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>

¡Por supuesto, siempre es mejor usar sentencias preparadas!

Para nuevos Chistes del Viernes de Firebird y noticias relacionadas con Firebird, suscríbete al telegram de FirebirdSQL https://t.me/firebirdsql