• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLチューニングについて)

SQLチューニングについて

このQ&Aのポイント
  • SQLチューニングについて悩んでいる方への解決策
  • Accessでのデータ出力におけるパフォーマンスの向上方法
  • 結合条件のNZ関数によるnull値の処理方法

質問者が選んだベストアンサー

  • ベストアンサー
  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.1

これではダメでしょうか? SELECT sub02.s, sub02.t, sub02.u, --sub02.v max(sub02.v) AS v FROM テーブルA AS sub02 group by s,t,u having count(*) = 1; グルーピング項目でないvをmax(minでも同じ)関数で取得するようにします。 ACCESSは殆ど使ったことがないので的外れかもしれませんが、 テーブルの読込が1回で済むので少しは良くならないでしょうか。

hikaru_kenken
質問者

お礼

集約関数でこういった使い方があったとは・・・。 正直、目から鱗でした。 パフォーマンスも数分だったのが、30秒足らずで完了しました。 本当にありがとうございました。

その他の回答 (1)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

(1)テーブルAに(s,t,u)のインデックスを作成してください。 (2)その上で下記のSQLを実行してみてください。 SELECT * FROM テーブルA T1 WHERE NOT EXISTS ( SELECT 1 FROM テーブルA T2 WHERE T1.S=T2.S AND T1.U=T2.U AND T1.V=T2.V GROUP BY T1.S,T1.U,T1.V HAVING COUNT(*)>1 )

関連するQ&A