So-net無料ブログ作成

Oracle データ圧縮② [DBMS]

前回からだいぶ間が空きました。
データ圧縮でそれなりに圧縮される様ですので、検索性能にどの程度オーバーヘッドが加わるのか見てみたいと思います。
とはいえ、テーブルの内容によってきっと変わるだろうから目安という事でお願いします。

Oracle 11g では基本圧縮(BASIC) と OLTP表圧縮(FOR OLTP) の2種類の圧縮方法があるので、圧縮なしの状態を含めてそれぞれの状態で検索します。
対象となるテーブルは以下の様に作られています。

CREATE TABLE "SAPSR3"."D010TAB"
( "MASTER" VARCHAR2(120) DEFAULT ' ' NOT NULL ENABLE,
"TABNAME" VARCHAR2(90) DEFAULT ' ' NOT NULL ENABLE
)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 COMPRESS FOR OLTP LOGGING
STORAGE(INITIAL 16384 NEXT 2621440 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "PSAPSR3701" ;

データは343,820件あります。
走らせるSQLは全て同じで何の捻りもなく以下です。

SET HEAD OFF
SET PAGESIZE 0
select * from SAPSR3.D010TAB;
exit

画面出力で時間がかかるといけないのでNULに出力して時間を測定します。

まずは圧縮前の状態です。
約1分39秒でした。
NOCOMP1.jpg
基本圧縮です。
約1分39秒でした。
BASIC1.jpg
OLTP表圧縮です。
約1分39秒でした。
OLTP1.jpg
結果として、このテーブルの場合は検索時間にほぼ差は出ませんでした。
[単一検索]
圧縮なし 約1分39秒
BASIC 約1分39秒
OLTP 約1分39秒

これではよく解からないのでもう少し負荷をかけて、検索を2並列にして計測してみます。
圧縮前の状態です。
約1分24秒でした。
NOCOMP2.jpg
基本圧縮です。
約1分23秒でした。
BASIC2.jpg
OLTP表圧縮です。
約1分24秒でした。
OLTP2.jpg
結果として、このテーブルの場合は検索時間にほぼ差は出ませんでした。
[2並列検索]
圧縮なし 約1分24秒
BASIC 約1分23秒
OLTP 約1分24秒

負荷のかけ方が甘いのか、今回の検索では差が出ませんでした。
明確に重くなる訳ではなさそうです。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。