Використання префіксної дати для прискорення запитів із стовпцями DATE
П’ятничний жарт Firebird #5 (з https://t.me/firebirdsql)
Чи знаєте ви, що Firebird підтримує спеціальний префікс для символьних параметрів дати?
Якщо з якоїсь причини ви задаєте умову для стовпця типу DATE і порівнюєте його з рядковою константою, ви можете вказати префікс date перед параметром, щоб повідомити Firebird, що він має розглядати його як дату.
У результаті запит може стати до 25% швидшим!
Дивіться приклад нижче:
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>
Звичайно, краще завжди використовувати підготовлені запити!
Щоб отримувати нові п’ятничні жарти Firebird та новини, пов’язані з Firebird, підписуйтесь на FirebirdSQL у Telegram https://t.me/firebirdsql