Het gebruik van een prefix-datum om query's met DATE-kolommen te versnellen
Firebird Vrijdaggrap #5 (van https://t.me/firebirdsql)
Wist je dat Firebird een speciaal voorvoegsel ondersteunt voor symbolische datumparameters?
Als je om de een of andere reden een voorwaarde specificeert voor de kolom van het type DATE en deze vergelijkt met een stringconstante, kun je het voorvoegsel date vóór de parameter opgeven, om Firebird te laten weten dat het dit als een datum moet beschouwen.
Als gevolg hiervan kan de query tot 25% sneller worden!
Zie het voorbeeld hieronder:
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>
Natuurlijk is het altijd beter om prepared statements te gebruiken!
Abonneer je voor nieuwe Firebird Vrijdaggrappen en Firebird-gerelateerd nieuws op het FirebirdSQL Telegram-kanaal https://t.me/firebirdsql