- - PR -
SELECT文のレスポンス違い
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-10-12 23:27
初めて投稿させて頂きます。宜しくお願い致します。
MSSQL及びADOは初心者です。 開発環境として 開発ツール:VB6+ADO DB:MSSQL7・MSSQL2000 DB-LINK:MSSQL7⇒MSSQL2000 SELECT文でTABLE-AとDB-LINK越しのTABLE-Bを使用しているのですが、 VBからのSQL発行とクエリアナライザからのSQL発行では、レスポンスが全然違います。 目測ですが、VB:約3分弱 クエリアナラザ:約5秒 いろいろと調べてはいるのですが、原因及び解決策がよくわかりませんので、 投稿させて頂きました。 ご教授の方、宜しくお願い致します |
|
投稿日時: 2007-10-13 07:54
さかもとと申します。
1:VB:約3分弱 とありますが、これは「SELECT→○○処理(Readで回したり色々)完了」までの時間ではなく、「SELECT→1件目の返答」までの時間ということでしょうか? 2:対象件数を絞ってみても同じような結果でしょうか? いかがでしょうか? _________________ ------------------------------------------ 拝啓、さかもとと申します♪ |
|
投稿日時: 2007-10-15 13:17
さかもとさま、返信有難うございます。
返信が遅くなり申し訳ありません。 >1:VB:約3分弱 とありますが、これは「SELECT→○○処理(Readで回したり色々)完了」までの時間ではなく、「SELECT→1件目の返答」までの時間ということでしょうか? パラメータを使用しています。 Set objCmd.ActiveConnection = objADO objCmd.CommandText = "SELECT 〜 " objCmd.CommandType = adCmdText 省略 パラメータセット Set objRS = objCmd.Execute 上記の処理(Execute処理)の時間です。 >2:対象件数を絞ってみても同じような結果でしょうか? 同じ結果です。 なお、LINK先のテーブルをLINK元にコピーし、単一DBでVBでSELECTすると約1秒で返ってきますで、RECORDSETで時間が掛かっているわけでもなさそうです。 VBとクエリアナライザとの唯一の違いは、パラメータを使用しているところです。 |
|
投稿日時: 2007-10-15 23:02
さかもとです。
リンクサーバー自体は経験したことないのですが、調べてみるといくつかヒットしましたので。 まずはMSDN http://msdn2.microsoft.com/ja-jp/library/ms188279.aspx 同じような内容の質問が以前あったようです。 もうひとつはFIX http://support.microsoft.com/kb/275536/ja ちなみに2000側のサービスパックはSP4まで当たっていますか? 既に調査済みのURLであればすいません。 _________________ ------------------------------------------ 拝啓、さかもとと申します♪ |
|
投稿日時: 2007-10-16 09:34
さかもと様、返信有難うございます。
また、貴重な情報は別途参考にさせて頂きます。 SP4の件、当てています。 なお、その後の調査等の結果、パラメータ付SQL文(なんていうのかよく分かりませんが)なるものを使用しています。その辺が相当怪しく(直接条件地をSQLに入れてEXECUTEすれば5秒程で返ってきます)、再度いろいろと調べてみます。 ストアド系で同じような事象をどこかで拝見にしましたので、見つけ次第UP致します。 さかもと様、いろいろと有難うございました。 |
1