2009年5月18日月曜日

Oracle:データブロックサイズの選定 - オラクル・Oracleをマスターするため

データブロックサイズの選定 - オラクル・Oracleをマスターするため

データブロックが小さいことによるメリット

* インデックス経由の単一のブロック IO が速い
* 同一ブロックでのトランザクションの競合が起こりにくい
⇒ Interested Transaction List 参照

逆にデータブロックが大きい場合に得意なことは苦手となる。

データブロックを小さくする場合の注意点
行移行、行連鎖を避けるのは優先事項である。この状態になっているデータブロックは、ブロック IO 性能、更新性能、同時実行性能の各性能を低下させる要注意なブロックである。

データブロックが大きいことによるメリット

* テーブルフルスキャンが速い
* 格納効率が良い
* COMPRESS(※) の効果が高い

逆にデータブロックが小さい場合に得意なことは苦手となる。

(※) COMPRESS とは表のデータをブロック完結型の圧縮方式で圧縮する機能、表の再構築やダイレクト・パス・インサートで表データを作成した場合にだけ行われる。 ALTER TABLE にて設定を変更しても既存のデータは圧縮されないので ALTER TABLE ~ MOVE で再作成の必要がある。
但し 256 以上のカラムをもつテーブルにはその効果がない。おそらく行連鎖、プロック内連鎖している行も同じ物理配置になっているであろうから、その仕組み上圧縮できないと考えられる。

0 件のコメント: