■SI Object Browser 掲示板


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

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

discussion
※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
バインド変数を使用するとSQLが遅い 2015/09/11 16:48 OB 2
お世話になります。

Ver12.1.1のOracleバージョンを使用しています。

バインド変数を使用してSELECT文(副問い合わせ有)
を実行すると,画面表示まで数十分かかります。
バインド変数の箇所をリテラル値に変更すると数秒で
画面表示されます。

最新のパッチをあてると改善されるのでしょうか
こんにちは
OBサポートです。

ご投稿いただいた件に関しまして、
他のお客様からも同様の報告を受けておりますが、
現状では弊社環境で事象が再現していないため、
原因の特定が困難となっております。

なお、現在のサポート対象が最新バージョン「Ver.12.1.3.0」と
なっておりますため、念のためこちらのバージョンでも
事象が再現するかお試しいただけますでしょうか。

もし事象が再現する場合は、以降は技術的な調査が必要となりますため、
保守サービスの範囲で行わせていただきます。
保守サポートにご加入済みでしたら、ダイジェストキーを添えて
サポート(oob.support@sint.co.jp)までご連絡いただけますでしょうか。

お手数をおかけしてしまい誠に申し訳ございませんが、
何卒、よろしくお願いいたします。
[OBサポート]
>ご投稿いただいた件に関しまして、
>他のお客様からも同様の報告を受けておりますが、
>現状では弊社環境で事象が再現していないため、
>原因の特定が困難となっております。

投稿主ではありませんが、私が気付いている情報を提示いたします。

私の環境にて Ver.12.1.3.0 を利用しても事象は発生しています。

この事象は、おそらく
バインド変数のデータ型(NVARCHAR2)がインデックス設定項目のデータ型(例 CHAR)と不一致となり、インデックスが利用されないために生じていると思われます。

Ver.11のときは、ObjectBrowserから発行されるSQLのバインド変数は、VARCHAR2型になっていたかと思います。
Ver.12では、NVARCHAR2型になっていることが OracleEnterpriseManagerから確認できました。

※最新のVer.13は利用していないため未確認

バインド変数のデータ型を指定する機能があれば利用方法でカバーできるのですが...

※現在は、バインド変数を使いたいときには TO_CHAR関数 でバインド変数を括って回避しています

以上、ご確認のほどよろしくお願いいたします。