Oracleでcursor_sharingパラメータを "FORCE" に設定する際のトレードオフを知りたいです。これは SQL ステートメントをソフト解析しようとするため、確実にパフォーマンスを改善する必要があります。ただ、デフォルト値は「EXACT」なので、FORCEやSIMILARに設定しても危険がないか知りたいです。
質問する
809 次
2 に答える
1
自分が何をしているのか本当にわかっていない限り、この設定を変更しないことをお勧めします。
通常、ハード パースの数が多い場合は、アプリケーションの設計が不適切であることを示しています。
特定のカテゴリのすべての製品を選択する典型的な例 (疑似コード):
stmt = 'select * from products where category = ' || my_category
results = stmt.execute
これにはいくつかの理由で欠陥があります:
- カテゴリごとに異なる SQL ステートメントを作成するため、ハード パースの数が劇的に増加します。
- SQL インジェクション攻撃に対して脆弱です
于 2013-04-08T08:50:20.657 に答える