[pgsql-jp: 26065] Re: データ形式についての質問です

堀江 芳樹 yoshiki @ presence-inc.jp
2002年 5月 22日 (水) 01:51:59 JST


ほりえです

ありがとうございます。

ただ、題目がvarchar と char の使い分けみたいだったものですから。
データ操作がある場合、先述あるとおり、空白で埋めたりするばあいがおおく、
またアプリケーション側で書き出し(文字列操作)をする場合(ファイルや変数
に対し)文字数制限を場合が多くはありませんか?
特にカンマなどのセパレータが利用できない場合などはそうですよね。

ある程度、文字数が予測される場合はvarchar、もしくはcharを使うケースが多
いような気がします。oracleのSPを作成したとき、殆どがvarcharでの設計でし
た。

Wed, 22 May 2002 00:54:21 +0900 に
MAMORU Yoshimura <mamoru @ iea.att.ne.jp> さんが、書いて下さいました:

MAMORU/*吉村@福岡です。
MAMORU/*
MAMORU/*>私が思うに、そもそも可変長,固定長はDBの容量確保のため、(もしくはそれに
MAMORU/*>よるDBの性能が落ちる)だったんじゃなかったカナと思います。
MAMORU/*
MAMORU/*容量確保の為なのかどうかは分かりませんが。
MAMORU/*
MAMORU/*以前石井さんが述べられていたと記憶しておりますが、PostgreSQLでvarcharを使う
MAMORU/*よりはtextを使う方が文字数のカウントをしない分コストがかからないということで
MAMORU/*した。またchar型にするのは文字数に意味がある場合でしょう。
MAMORU/*
MAMORU/*ということはバイト数(7.2?以降では文字数)に意味がないのであれば、text型を
MAMORU/*使うのがPostgreSQLではベストでしょう。
MAMORU/*
MAMORU/*>名前は、可変長にしても、その容量に対するメリットがそれほど、大きく変わる
MAMORU/*>ことはないと思うからです。
MAMORU/*
MAMORU/*テーブル設計って、データベース側の問題ではなく、あくまで要件を満たせるかだと
MAMORU/*思いますが。だって容量とか速度とか今はそんなに気にしなくてもいいでしょ。それ
MAMORU/*よりアプリケーション側の実装の方が速度に大きく関係しますしね。
MAMORU/*
MAMORU/*>住所は、この場合1つですので、極端に長くあったり、短かったりする可能性が
MAMORU/*>高いと思うからです。
MAMORU/*
MAMORU/*こういう場合に、textを使うべきだと思います。
MAMORU/*
MAMORU/*----------------------------------------------------------------------
MAMORU/*吉村 守
MAMORU/*MAMORU Yoshimura
MAMORU/*E-Mail:mamoru @ iea.att.ne.jp
MAMORU/*----------------------------------------------------------------------

■□■ Yoshiki HORIE Presence,Inc.
□■ mailto:yoshiki @ presence-inc.jp
■□ http://www.presence-inc.jp




pgsql-jp メーリングリストの案内