Oracle 10g リリース2 の新機能

SQL 新機能

Oracle 10g Release 2 が 9月7日から提供開始されました。
実際に安心して使えるかどうか別問題として、使ってみたい機能がいくつかありました。(初物に手を出すと痛い目をみることが少なくありませんのでご注意)

新しい SQL マニュアルしかみてないですが、さらっと見ただけで詳細については調べてません。

COMMIT 時の REDO ログ制御

コミット操作で生成されたREDO 情報をREDO ログに書き込む際の優先度を指定するWRITE 句の追加

COMMIT WRITE [IMMEDIATE|BATCH] [WAIT|NOWAIT]

なにやら色々とトレードオフがあるようです。

CREATE RESTORE POINT

フラッシュバックでのリストアするポイントの作成、セーブポイント(ROLLBACK)のフラッシュバック版。フラッシュバックすることが最初からわかっている場合には便利そうな機能です。

CREATE TABLE ( ALTER TABLE )

列を暗号化するための構文の追加。
CHAR、NCHAR、VARCHAR2、NVARCHAR2、NUMBER、DATE、RAW の データ型 を暗号化できる。ユーザー単位に可視、不可視になる。(別途 Advanced Security ライセンスが必要かも)

DML(INSERT , UPDATE, DELETE )にエラーロギング句

DML の実行時エラーは、エラーコードとメッセージだけで該当カラムなどの情報を判別するのに役に立ちそう。
変更される行のログを書き出すことができる。開発時以外ではレスポンスに影響しそう

INSERT 〜
LOG ERRORS [INTO errlog_table ('tagname') [ REJECT LIMIT {NOLIMIT |integer] ;

基本性能の向上

メモリソートの性能向上

ソートアルゴリズムが変更され order by、group by、partition outer join の性能が向上している。 (workarea_size_policy は AUTO/MANUAL を問わない)

ハッシュによる group by 集計

ソートによる同一値の集計を行なうのではなく、ハッシュを使用することで同一値を見つけ出す。(初期化パラメータ:_gby_hash_aggregation_enabled) つまり group by による暗黙的のソートが行われないため、ソートされることを見越して order by を省略しているケース(※)ではバグとなる。

(※) 旧リリースであっても暗黙的にソートされている状態を保証しないので並び替えが必要な場合は order by は省略してはいけないと注意されている。(ソート済みの場合には実行計画でソートが自動で省略されるので応答速度に差も発生しない)



日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ 会員制(無料)の公式技術サイト