日付プレフィックスを使用してDATE列のクエリを高速化する
Firebird Friday Joke #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 Friday Jokes 及 Firebird 相关新闻,请订阅 FirebirdSQL 电报频道 https://t.me/firebirdsql