Bu sayfa makine çevirisidir. İngilizce orijinalini okuyun. English

IBSurgeon kütüphanesi

Tarih sütunları içeren sorguları hızlandırmak için önek tarih kullanma

Firebird Cuma Şakası #5 (kaynak: https://t.me/firebirdsql)

Firebird’ün sembolik tarih parametreleri için özel bir önek desteklediğini biliyor muydunuz?

Herhangi bir nedenle, DATE türündeki bir sütun için bir koşul belirtiyor ve bunu bir dize sabitiyle karşılaştırıyorsanız, Firebird’ün bunu bir tarih olarak değerlendirmesi gerektiğini bildirmek için parametrenin önüne date önekini ekleyebilirsiniz.

Sonuç olarak, sorgu %25’e kadar daha hızlı hale gelebilir!

Aşağıdaki örneğe bakın:

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>

Elbette, her zaman hazır ifadeler (prepared statements) kullanmak daha iyidir!

Yeni Firebird Cuma Şakaları ve Firebird ile ilgili haberler için FirebirdSQL telegram kanalına abone olun: https://t.me/firebirdsql