- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLチューニングについて)
SQLチューニングについて
このQ&Aのポイント
- SQLチューニングについて悩んでいる方への解決策
- Accessでのデータ出力におけるパフォーマンスの向上方法
- 結合条件のNZ関数によるnull値の処理方法
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
これではダメでしょうか? 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回で済むので少しは良くならないでしょうか。
その他の回答 (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 )
お礼
集約関数でこういった使い方があったとは・・・。 正直、目から鱗でした。 パフォーマンスも数分だったのが、30秒足らずで完了しました。 本当にありがとうございました。