Цю сторінку перекладено машинним перекладом. Читайте англійський оригінал. English

Бібліотека IBSurgeon

Використання префіксної дати для прискорення запитів із стовпцями DATE

П’ятничний жарт Firebird #5 (з https://t.me/firebirdsql)

Чи знаєте ви, що Firebird підтримує спеціальний префікс для символьних параметрів дати?

Якщо з якоїсь причини ви задаєте умову для стовпця типу DATE і порівнюєте його з рядковою константою, ви можете вказати префікс date перед параметром, щоб повідомити Firebird, що він має розглядати його як дату.

У результаті запит може стати до 25% швидшим!

Дивіться приклад нижче:

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>

Звичайно, краще завжди використовувати підготовлені запити!

Щоб отримувати нові п’ятничні жарти Firebird та новини, пов’язані з Firebird, підписуйтесь на FirebirdSQL у Telegram https://t.me/firebirdsql