2

5秒でデータを返すselectクエリを持つ次のクエリがあります。しかし、マテリアライズド・ビューの作成コマンドを前に追加すると、クエリがマテリアライズド・ビューを作成するのに時間がかかります。

4

2 に答える 2

3

マテリアライズド ビューを作成すると、実際にはデータのコピーが作成され、Oracle によって同期が維持されます (これらのビューは、インデックスのようなものになります)。ビューが大量のデータまたは他のサーバーからのデータを操作する場合、このビューの作成に時間がかかるのは当然です。

docs.oracle.comから:

マテリアライズド ビューは、ある時点からのターゲット マスターのレプリカです。

于 2012-05-04T10:32:57.273 に答える
1

「yuks」については、 create table temp_tab nologging as select ... を試してください。

何らかの理由で MV の作成に時間がかかるケースを見たことがあります。おそらくログです。

また、クエリ開発ツールはすぐにデータを画面に返し始めることがありますが、最後の行に「ページング」すると、すべてのデータを取得するのに実際にかかる時間がわかります。

クエリのチューニングが必要かどうかを確認するために、実行時のテーブル カーディナリティ、インデックス、待機状態などを理解し、Explain Plan を使用して select ステートメントをプロファイリングする必要があります。

于 2012-05-04T11:31:30.927 に答える