[前][次][番号順一覧][スレッド一覧]

mysql:3675

From: Akihiko Shinohara <Akihiko Shinohara <sino@xxxxxxxxxx>>
Date: Thu, 24 May 2001 12:19:34 +0900
Subject: [mysql 03675] Re: ENUM 、 SET 、 CHAR(1) の選択基準に迷います。

篠原です。

From: Kouichi Matsumoto <k-m@xxxxxxxxxx>
Subject: [mysql 03664] ENUM 、 SET 、 CHAR(1) の選択基準に迷います。
Date: Wed, 23 May 2001 22:37:56 +0900
Message-ID: <20010523223712.9D3C.K-M@xxxxxxxxxx>

> フォームのCheckboxで趣味を30個から選択登録し、検索も行う場合
> CHAR(1)よりSETやENUM型の方が良いでしょうか?

私が考えるメリット、デメリットは...

[メリット]
	- まじめに正規化を考えるならば別表になるところを、
	  一つの表で管理できる。
	- 項目に何が設定されるのか? という事がわかりやすい。
	- また、変更も一カ所でいい。
	  (動的にこの項目リストを読んでメニューを作成する
		プログラムにしておけば、変更が楽)
[デメリット]
	- 他のDBには無い(と思う)ので、移行をする時に困る
	- 項目のリストを変更する時には、インデックスが
	  変らないように変更してあげる必要があると思う。
	  安全にやるなら、データのストアとロードが必要かも。

> あと、CHAR(1)とTINYINTの採用基準も迷ってしまいます。(^^;)

将来的に、数字しか入らないのは、INT
将来、数字以外も入れるかも? というのは、CHAR
にしときます。

データのサイズを押さえたい場合、できるだけ領域をとらない
型を選択する事も必要だと思います。
# これは基本だけど、拡張性とか分かりやすさを犠牲にする場合も
# あると思います。

スピードについては、やってみないとわかりません。
テストデータを作成して埋め込んで、テストする事は
必要だと思います。
  ___________________________________________
 / Akihiko Shinohara  /Hoct*Systems.Co.,Ltd /
/               http://www.hoctsystem.co.jp/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


[前][次][番号順一覧][スレッド一覧]

      3664 2001-05-23 22:37 [Kouichi Matsumoto <k] ENUM 、 SET 、 CHAR(1) の選択基準に迷います。
->    3675 2001-05-24 12:19 ┗[Akihiko Shinohara <s]                                       
      3681 2001-05-25 02:19  ┗[とみたまさひろ <tomm]