遅刻の「言い訳」選手権

在庫計算をするためのストアドプロシージャを作っています。

Microsoft SQL Server Management Studioで実行すると1秒もかからないのですが、
Microsoft Access(Office 365)のパススルークエリーで実行すると7秒程度かかってしまいます。

どちらも
 exec ストアドプロシージャ名(引数1, 引数2...)
で実行しています。

他にもいくつかストアドプロシージャを作っているのですが、
他の分はAccess側で実行しても遅くなりません。

確認すべきところがありましたらご教示ください。
よろしくお願いいたします。

質問者からの補足コメント

  • うーん・・・

    DBはサーバーです。
    OSはWindows Server 2019 Standard、SQL Server 2019です。

    集計の対象となるデータ件数は12万行程度で、最終的にAccessに返されるのは150件程度です。
    項目件数は18です。

    ちなみに条件を指定せずに集計させると、SSMSでは4秒、Accessのパススルークエリーでは180秒かかりました。

    リンクテーブルでは遅すぎるので計測していません。
    普段からストアドやテーブル値関数等を使って、極力SQL Serverで処理させるようにしています。

    パススルークエリーを元にしてSelectしたり、リンクテーブルをJOINした選択クエリが遅くなるというのは今までありましたが、パススルークエリーそのものではSSMSで実行したときと変わらないのが普通でした。

      補足日時:2020/04/14 14:17

A 回答 (1件)

DBはサーバ?ローカル?


データ件数は?
項目数は?

データが大きいなら、パススルーでもそれなりにかかる。

ちなみに、リンクテーブルならどの程度かかるか計測した?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A