Použití prefixového data pro zrychlení dotazů se sloupci typu DATE
Firebird páteční vtip #5 (z https://t.me/firebirdsql)
Víte, že Firebird podporuje speciální prefix pro symbolické datové parametry?
Pokud z nějakého důvodu zadáváte podmínku pro sloupec typu DATE a porovnáváte jej s řetězcovou konstantou, můžete před parametr zadat prefix date, abyste Firebirdu sdělili, že jej má považovat za datum.
Výsledkem může být až o 25% rychlejší dotaz!
Podívejte se na příklad níže:
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>
Samozřejmě, vždy je lepší používat připravené příkazy!
Pro nové Firebird páteční vtipy a novinky týkající se Firebirdu se přihlaste k odběru FirebirdSQL telegramu https://t.me/firebirdsql