Hitachi

ノンストップデータベース HiRDB Version 9 システム導入・設計ガイド(Windows(R)用)


12.12.3 BLOB型とBINARY型の使い分け

バイナリデータの運用方法によってお勧めするデータ型を次の表に示します。

表12‒3 バイナリデータの運用による推奨データ型

バイナリデータの運用方法

推奨するデータ型の

平均データサイズ

説明

32,000バイト以下の場合

32,000バイトより大きい場合

射影列にバイナリデータ列を指定する頻度

高い

BINARY

BLOB

  • 32,000バイト以下の場合,BINARY型の方がブロック転送もでき,行全体のデータが近くに集まって配置されるので,性能的に優位です。

  • 32,000バイトより大きい場合,BLOB型の方が長大データに特化した内部メモリ削減などの処理をするので,性能的に優位です。

低い

BLOB

BLOB

BLOB型の方がBINARY型より基本行のデータサイズが小さいので,データ件数が多くなればBLOB型が性能的に優位です。ただし,BINARY型以外の列にインデクスを定義してインデクススキャンにすることでBINARY型とBLOB型の性能差はなくなります。また,インデクススキャンにすることを推奨しますが,セグメントサイズを大きくすることでも性能差を小さくできます。

SQL記述の柔軟性

BINARY

同等

32,000バイト以下の場合,BINARY型のSQL記述はインデクス定義を除いて,ほぼVARCHARと同等の記述ができます。そのため,BLOB型よりSQL記述範囲が広がります。詳細は,マニュアル「HiRDB Version 9 SQLリファレンス」を参照してください。

データ格納効率

BINARY

格納効率はBINARY型が優位です。ただし,8キロバイトのバウンダリが無視できるような長大データサイズになると余り差はありません。

追加更新を頻繁にする場合

BLOB

連結演算するデータサイズが大きいほどBLOB型が性能的に優位です。

部分抽出を頻繁にする場合

同等

BLOB

BINARY型の格納済みデータサイズが大きいデータに対して部分抽出をすると非常に性能が悪くなります。さらに,部分抽出回数を多くすると,性能は劣化します。大きなデータに対して部分抽出を頻繁にする必要がある場合には,BLOB型をお勧めします。

運用性を重視する場合

BINARY

BLOB型はユーザLOB用RDエリアをバックアップするなどの特別な運用が必要になります。

上記使用方法で判断できない場合,又は将来的に方針変更の可能性があり,判断できない場合

BINARY

BLOB

32,000バイトより大きいデータを扱う場合はBLOB型をお勧めします。比較的データサイズが小さい場合はBINARY型をお勧めします。

注※

データサイズがページサイズに近い大きさで分岐しない場合,BINARY型で大量のテーブルスキャンをすると,BLOB型に比べて非常に性能が悪くなります。これを防ぐため,テーブルスキャンからインデクススキャンへ変更してください。また,インデクススキャンにすることを推奨しますが,セグメントサイズを大きくすることでも性能差を小さくできます。