2014年11月25日

63. 頻繁に追加される明細項目の管理について(2)

もし、明細項目を検索条件に指定することがある場合は、横持ち形式とすること。
--
横持ち形式とは、サブテーブル(明細項目用)を定義せず、メインテーブル(基本項目用)に明細項目を包含することを指す。
なお、メインテーブルには、明細項目を格納するための(十分な数の) 汎用カラム(予備カラム) を定義する。
(※ PostgreSQL9.x では 500カラム強 での運用実績あり。)
また、(DBを利用する)アプリケーションに 汎用カラム番号と明細項目IDとのマッピング処理 を実装する。
--
これにより、明細項目を追加する度に、カラムを追加する必要がなくなる。
また、DBのインデックス機構の恩恵を享受できる。
ただし、明細項目数に制限がある。
なお、カラム数が多いことによる明らかなパフォーマンスダウンは発生していない。

この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック