- 締切済み
テキスト項目255ケタのメリット・デメリット
業務系のシステムを構築しております。 ある顧客で、フロントエンドをWEBシステムで構築し、業務システムへ連携してほしいとの依頼が来ました。 フロントエンドは別の会社が作っており、そこから出てきたインターフェースの仕様がテキスト項目はコード類も含めすべて255桁になっておりました。 テキスト項目をすべて255ケタにするメリットはなんなのでしょうか? デメリットとしては、後々DB解析する際などに処理が非効率になるのではないかと思っているのですが、他にもあれば教えていただければと思います。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
>DBはmySQL それはおそらくMySQLの仕様が4.0まではcharやvarcharなどいわゆる文字列型の カラムの文字数上限が255バイトとなっていたからでしょう 現在のMySQL5系は拡張されて65535文字まで格納可能なのであまり255桁に こだわる必要はないかもしれません。 ただしインデックスの特徴で極端にながい文字列にインデックスを作成すると 無駄がおおく、肥大化による弊害もでてくるため、255文字程度を上限にしておいた方が 運用上効率的かもしれません (たいていのものの名称は200文字程度におさまることですし)
- bin-chan
- ベストアンサー率33% (1403/4213)
たぶん、ですが。 MS-ACCESSがからんでるかも。テキスト型のデフォルトが255桁です。 メリットは、MS-ACCESSを用いたEUCツールを作りやすい。 デメリットは、255「桁」だから255「バイト」では無いこと。 「半角・全角取り混ぜての255文字」なので、他のDBMSで定義するときに 注意しないと桁不足・桁あふれが生じる。 255「桁」の意図を十分確認しておく必要があると思います。
- kmee
- ベストアンサー率55% (1857/3366)
もしかしたら、大昔からあるシステムを引き継いでいるだけではないでしょうか。 文字数を表わす1Byte(8bit) + 255Byte分の領域 = 256Byte で文字列を表現すると、メモリやディスク上にきれいに並びます。 現在よりもハードウェアを直接操作していた昔なら、ディスクのセクタにきっちり収まる、というのは大きなメリットです。 文字列の内部表現が、現在主流の可変長ではなく、上記のような固定なシステムや言語もあります。 そういう時代に作られたデータをそのまま利用できるように、そのような仕様にしていると考えられます。 もしかしたら、システム自体が、当時からのものが現在でも稼動しているかもしれません
お礼
早速の回答ありがとうございます。 システム自体は昨年作られたものらしいので、そういう時代の人が設計したからこうなっている気がします。 明確なメリット、デメリットということでは特にないということでしょうか。 何か...なシステムです。
補足
DBはmySQLだそうです。 桁あふれの話ですが、人名の姓で255ケタ、名で255ケタなので、あふれようがないという感じです。 住所で255ケタ、電話番号で255ケタ...という感じで非常に非効率に思えたもので。 まぁ、データ定義は可変長なので、限られたもので来るとは思うのですが。 後々デメリットとかはないのでしょうか...