- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:性能の改善について)
性能の改善方法とは
このQ&Aのポイント
- 以下の(1)のSQLと(2)のSQLで性能が全然違います。原因は明示的に「1」を取得するようにしているからなのですが、改善する方法はないでしょうか?
- (1)SQL(遅い) SELECT 1, /*+ INDEX(T_UKERUI T_UKERUIP1) */ T.NO_UKE FROM T_UKE T ,M_OFF O ,M_KAI K WHERE T.CD_OFR = O.CD_OFR AND T.CD_KAIIN = K.CD_KAIIN AND T.CD_STS IN (3, 4) AND T.CD_SHIP = 0001 AND T.NO_ADDNO = 0
- (1)SQL(速い) SELECT /*+ INDEX(T_UKERUI T_UKERUIP1) */ T.NO_UKE FROM T_UKE T ,M_OFF O ,M_KAI K WHERE T.CD_OFR = O.CD_OFR AND T.CD_KAIIN = K.CD_KAIIN AND T.CD_STS IN (3, 4) AND T.CD_SHIP = 0001 AND T.NO_ADDNO = 0
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 せっかくINDEXを指定しているのに、意味が無くなってますね・・・。 (TABLE ACCESS FULL です・・・) SELECT /*+ INDEX(T_UKERUI T_UKERUIP1) */ 1, T.NO_UKE ではないですか? (^^ゞ
その他の回答 (1)
- taka451213
- ベストアンサー率47% (436/922)
回答No.2
こんにちは。 >>今は全ての列にコメントを書いています..。 ??? 1回でいいですよ。 (^^ゞ
質問者
お礼
あちゃ。やっぱりそうですか。。 すいません単純なことで。。 ありがとうございましたm(_ _)m
補足
回答ありがとうございます。 「1」にもインデックスを指定しておけばよいのですね。1つ質問ですが、ひょっとして SELECT /*+ INDEX(T_UKERUI T_UKERUIP1) */ 1, /*+ INDEX(T_UKERUI T_UKERUIP1) */ T.NO_UKE ってやらなくても1つだけでよいのですか? 今は全ての列にコメントを書いています..。