Ta strona została przetłumaczona maszynowo. Przeczytaj oryginał angielski. English

Biblioteka IBSurgeon

Używanie prefiksu daty w celu przyspieszenia zapytań z kolumnami DATE

Firebird Friday Joke #5 (z https://t.me/firebirdsql)

Czy wiesz, że Firebird obsługuje specjalny prefiks dla symbolicznych parametrów daty?

Jeśli z jakiegoś powodu określasz warunek dla kolumny typu DATE i porównujesz ją ze stałą tekstową, możesz podać prefiks date przed parametrem, aby poinformować Firebirda, że powinien traktować go jako datę.

W rezultacie zapytanie może być nawet o 25% szybsze!

Zobacz przykład poniżej:

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>

Oczywiście, zawsze lepiej używać przygotowanych zapytań (prepared statements)!

Aby otrzymywać nowe Firebird Friday Jokes i wiadomości związane z Firebirdem, zasubskrybuj kanał FirebirdSQL na Telegramie https://t.me/firebirdsql