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:
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