私は SQL が初めてで、大規模なデータベースにクエリを実行しようとしているため、速度が問題になります。以下に示す形式のクエリ (行1を使用) を使用しており、正常に動作していますが、(行1を行2に切り替えるために) 定数を使用して派生した値ではなくカットを作成するように変更すると、クエリ自体が大幅に遅くなります (1 の実行時間は~1 秒、2は数分です)。私は実際にはもっと速いと思っていたでしょう。誰かがなぜこれが起こっているのかを説明したり、このクエリをより適切に書き直す方法を提案したりできますか?
ありがとう
クエリ
with local_sample as
( SELECT b.mass, ...various other columns selected...
FROM table1 TAB, table2 b
WHERE ...a few clauses... )
SELECT min(prog.num), LTAB.mass, ...various other columns...
from local_sample LTAB, table2 prog
WHERE ...a few clauses...
[**1**] and prog.mass > LTAB.mass/2.0
[**2**] and prog.mass > 31.62
group by ...columns...