Cette page a été traduite automatiquement. Lisez l'original en anglais. English

Bibliothèque IBSurgeon

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 :

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>

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