このページは機械翻訳されています。英語の原文をお読みください。 English

IBSurgeon ライブラリ

日付プレフィックスを使用してDATE列のクエリを高速化する

Firebird Friday Joke #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 Friday Jokes 及 Firebird 相关新闻,请订阅 FirebirdSQL 电报频道 https://t.me/firebirdsql