Tato stránka byla strojově přeložena. Přečtěte si anglický originál. English

Knihovna IBSurgeon

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:

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>

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