Utiliser un préfixe de date pour accélérer les requêtes avec des colonnes DATE
Blague du vendredi Firebird #5 (de https://t.me/firebirdsql)
Savez-vous que Firebird prend en charge un préfixe spécial pour les paramètres de date symboliques ?
Si, pour une raison quelconque, vous spécifiez une condition pour la colonne de type DATE et que vous la comparez à une constante de chaîne, vous pouvez spécifier le préfixe date avant le paramètre, pour informer Firebird qu’il doit le considérer comme une date.
En conséquence, la requête peut devenir jusqu’à 25 % plus rapide !
Voir l’exemple ci-dessous :
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>
Bien sûr, il est toujours préférable d’utiliser des instructions préparées !
Pour de nouvelles blagues du vendredi Firebird et des actualités liées à Firebird, abonnez-vous au télégramme FirebirdSQL https://t.me/firebirdsql