同じ結果を出力する2つのクエリがあります。私は、2人のパフォーマンスに違いがあり、どちらを使うのが良いかを知りたいと思います。なぜ他のものより優れているのか、それとも同じ理由があるのか説明してください。2つのクエリ間のSQLパフォーマンス
Query2はQuery1よりも12ms高速ですが、サーバーの遅延がランダムに発生する可能性があります。例えば、もう一度それを実行すると、私はそれぞれ別の時間を得る。
クエリ1:タイム66ms
select
*
from
table1,
table2,
table3,
table4,
table5,
table6,
table7
where
table1.type1 = 402 and
table1.pid = table2.pid and
table1.aid = table3.aid and
table1.tid = table4.tid and
table4.type2 = table5.code and
table1.status = table6.code2 and
table7.eaid = table1.caid
クエリ2:時間 - 54ms
select
*
from
table1
join table2 on table2.pid= table1.pid
join table3 on table1.aid = table3.aid
join table4 on table1.tid = table4.tid
join table5 on table4.type2= table5.code
join table6 on table1.status= table6.code2
join table7 on table7.eaid= table1.caid
where
table1.type1 = 402
質問に実際のクエリプランを追加してください。 –
ここでhttp://programmers.stackexchange.com/questions/78225/using-join-keyword-or-not – jayvee
これらは同じクエリのように見えますが、クエリ2はANSIに準拠しています。 –