※ ChatGPTを利用し、要約された質問です(原文:JOIN句の記述の違いによるパフォーマンスへの影響)
JOIN句の記述方法の違いによるパフォーマンスへの影響とは?
このQ&Aのポイント
Ex1とEx2のJOIN句の記述方法の違いは、クエリのパフォーマンスに影響する可能性があります。
ただし、2万件程度のデータ量では明確なパフォーマンスの違いは確認できませんでした。(1秒〜2秒)
単純に書き方の違いであれば、自分がわかりやすいと感じるEx1の記述方法で統一することもできます。
JOIN句の記述の違いによるパフォーマンスへの影響
以下のEx1,2のJOIN句の記述方法の違いはクエリのパフォーマンスに影響するのでしょうか?
2万件程度のデータ量で試してみたのですが明確なパフォーマンスの違いを確認できませんでした。(1秒~2秒)
単純に書き方だけの違いであれば心置きなく自分ではわかりやすいと感じているEx1の記述方法で統一したいので。
よろしくお願いします。
-- /* SQL Server 2008 R2 */
-- /* 受注した全ての商品名を取得するクエリ(例) */
-- /* 登場テーブル・カラム */
-- // M_goods 商品マスタ
-- // code 商品コード
-- // name 商品名
-- // T_orders 受注テーブル
-- // number 受注番号
-- // T_orderdetails 受注明細テーブル
-- Ex.1
SELECT M_goods.name FROM T_orders
LEFT JOIN T_orderdetails ON T_orders.number = T_orderdetails.number
LEFT JOIN M_goods ON T_orderdetails.code = M_goods.code
-- Ex.2
SELECT M_goods.name FROM T_orders
LEFT JOIN T_orderdetails
LEFT JOIN M_goods
ON T_orderdetails.code = M_goods.code
ON T_orders.number = T_orderdetails.number
お礼
迅速かつ適切なご回答ありがとうございました。 推定実行プランを行ったところ、Ex1,2のクエリは共に全く同じ実行プランでした。