クエリのパフォーマンスを向上させる手法を実装するよう依頼されました。これは非常に新しいものです。クエリのパフォーマンスチューニング
テクニックは次のとおりです。
上記のクエリでSELECT tab1.col1
FROM tab1, tab2
WHERE tab1.col1 = tab2.col2
AND tab2.col3 = 'X'
AND tab1.col4 = 'Y';
、
- は、私は上記の使用されているものの参照テーブルは、TAB2のためTAB1とTAB4ためTAB3が言うように2つのテーブルを作成する必要があります。
- tab1とtab2のPK値をそれぞれtab3とtab4に挿入します。
- tab3とtab4の両方に列を追加して 'condition1'とし、それを上記のクエリでフェッチされたレコードのPK値で更新します。
- 'condition1' IS NOT NULL列のチェックを含むクエリでtab3とtab4を使用します。
- 元の表のDMLでこの列を更新するトリガーを作成します。
これは一目でシンプルに見えるかもしれませんが、同じテーブルが異なる述語とNクエリ、 で使用されている場合、私はN新しいテーブルとそれに対応するトリガー内の列数を追加する必要があります。
私はこれがデータの重複であり、データベースに大きな負担をかけると信じています。これはパフォーマンスの向上には役立ちません。
これを実装する際のジレンマから私を助けることができれば嬉しいです。事前に
おかげで、 Savitha
私はあなたの同僚がデータベース開発の極端な初心者であり、Oracleコンサルタントにとって真剣な助けが必要だと思います。このデータベースの最終目的は何ですか?また、1日に何行追加しますか?私は意味がありません。ただ残酷に正直です。時には、私たちがSO上で提供できる最善の助けは、あなたが少しの助け以上のものを必要としていることを伝えることです。 –