使用前缀日期来加速包含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 电报频道 https://t.me/firebirdsql