0

Oracleでcursor_sharingパラメータを "FORCE" に設定する際のトレードオフを知りたいです。これは SQL ステートメントをソフト解析しようとするため、確実にパフォーマンスを改善する必要があります。ただ、デフォルト値は「EXACT」なので、FORCEやSIMILARに設定しても危険がないか知りたいです。

4

2 に答える 2

1

自分が何をしているのか本当にわかっていない限り、この設定を変更しないことをお勧めします。

通常、ハード パースの数が多い場合は、アプリケーションの設計が不適切であることを示しています。

特定のカテゴリのすべての製品を選択する典型的な例 (疑似コード):

stmt = 'select * from products where category = ' || my_category
results = stmt.execute

これにはいくつかの理由で欠陥があります:

  • カテゴリごとに異なる SQL ステートメントを作成するため、ハード パースの数が劇的に増加します。
  • SQL インジェクション攻撃に対して脆弱です
于 2013-04-08T08:50:20.657 に答える