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:
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