■SI Object Browser 掲示板


ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!

ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。
なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

discussion
※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
バインド変数を含むSQLの統計情報 2003/07/07 12:35 OB 3
バージョン 8.0.1.5 の「SQL実行」画面で、バインド変数を含むSQL分の統計情報をとろうとすると結果が正しくありません。(1件もヒットしていないような感じです)
同様の条件でバインド変数の部分をリテラルに変えて実行すると正しく表示されます。

以上よろしくお願いします。
こんにちは
後迫@SIです。

お問い合わせいただきました件ですが、
以下の事項を確認させていただけますでしょうか。

①バインド変数をリテラルに置き換えた場合の、
 SELECT結果(件数)は全く同じでしょうか?
②バインド変数で統計情報を表示した場合は、
 1件もヒットしないとの事ですが、統計情報の列に表示される値は
 すべて0になっていると言うことでしょうか?

どうぞよろしくお願いいたします。

>①バインド変数をリテラルに置き換えた場合の、
> SELECT結果(件数)は全く同じでしょうか?
SELECT結果は全く同じになります。

>②バインド変数で統計情報を表示した場合は、
> 1件もヒットしないとの事ですが、統計情報の列に表示される値は
> すべて0になっていると言うことでしょうか?
全て0ではなく「Row Processed」が0になります。他の統計情報の値は0ではないが低い値になります。(バインド変数の値を参照できていないような気がします。)

また「実行計画」タブを選んでいるときにSQLを実行してもバインド変数を入力する画面が出てきません。(「結果」タブでは出てくるので上記の検証は先に「結果」タブで入力画面を出してから「実行計画」タブでSQLを実行しています。)

ちなみにバインド変数は「:」+ 変数名 で入力していますが、これが間違っているのでしょうか?
こんにちは
後迫@SIです。

追加情報をいただきありがとうございます。
弊社で現象を確認いたしました。

実行計画タブにて、
バインド変数を入力できないため、
バインド変数を使用した統計情報を取得できませんでした。
(バインド変数指定なしで実行されるため、SELECT結果が0件になってしまいます。また、送信バイト数、受信バイト数などの値が減っているのは、
バインド変数を使用して実行することによりキャッシュを使用するためと思われます。)

大変申し訳ございません。
次回マイナーバージョンアップで修正を検討させていただきますので、
どうぞよろしくお願いいたします。