質問: あるテーブルに対してマテリアライズド・ビューを作成しようと思っているんですが 集計後の件数が数億件ぐらいあっておそらくメモリに入り切らないのですが この場合ってマテリアライズド・ビューは作成可能なんでしょうか? マテリアライズド・ビューはメモリ内に保持されていると聞いたことがあるのでメモリを超えたデータは扱えないのではないかと疑問に思いました 何方か御存知の方がいたら教えて下さい
回答: > > マテリアライズド・ビューはメモリ内に保持されていると聞いたことがあるので > > > その人を殴り倒していただくとして、 通常のテーブルと同じくマテリアライズド・ビューはディスク上のTABLESPACEに作られます。テーブルと同じくマテリアライズド・ビューもSELECTされた内容をメモリ上の配列に持ちます。ソートなどでメモリが足りなければTEMPORARY TABLESPACEが使われます。 何億件もあるテーブルやマテリアライズド・ビューを扱うのであればきちんとパフォーマンス・チューニングできる人を使った方が良いです。 何年か前に日本一のシェアをもつというあるパッケージ会社のパフォーマンス・チューニングをしたことがありましたが、テスト環境でも3,000くらいはテーブル数があったでしょうか?いちばんレコード件数が多いテーブルで6億件以上。それなのに Oracle は Standard Editionという納品しても規定時間以内にバッチは終わらないのがわかりきった構成。結局チューニングは行わないことで契約は終了。