そのため、Informix から Sql Server に移行しています。そして、Informix ではクエリが次のように記述されていることに気付きました。
select [col1],[col2],[col3],[col4],[col5]
from tableA, tableB
where tableA.[col1] = table.[gustavs_custom_chrome_id]
私が SQL Server で作成するすべてのクエリは、次のように記述されます。
select [col1],[col2],[col3],[col4],[col5]
from tableA
inner join tableB on tableA.[col1] = table.[gustavs_custom_chrome_id]
さて、私の最初の考えは、最初のクエリが悪いということでした。おそらく、この巨大なレコード セットを作成し、Where 句を使用して実際のレコード セットに合わせます。したがって、パフォーマンスが悪いです。そしてそれはノンアンシです。だから二重に悪い。
ただし、グーグルで調べたところ、理論的にはどちらもほとんど同じようです。どちらも ANSI に準拠しています。
だから私の質問は:
- 両方のクエリは同じように実行されますか? すなわち。同じ速度で実行され、常に同じ答えが得られます。
- どちらも本当に ANSI に準拠していますか?
- あるスタイルを別のスタイルよりも推し進めるべき顕著な理由はありますか? それとも、十分に良いままにしておくべきですか?
注: これらはクエリの単なる例です。一度に最大 5 つのテーブルを結合する (最初の種類の) いくつかのクエリを見てきました。