0

ユーザーが動的に html フォームを作成できるコンテンツ管理システムがあります。そのためにすべてのテーブルをセットアップしました。しかし、私を悩ませていることが 1 つあります。それは、入力された値のテキスト サイズです。

一部のフォームにはテキストエリアがあり、一部のテキストエリアにはかなりの量のデータが含まれています。しかし、フォームには単純なテキストフィールドもあり、数文字のデータしか含まれていません。

値を保存するための私のデータベーステーブルは次のようになります。

フォーム値

id | form_id | fk_element_id | value

したがって、この場合、value列には特定のフィールド タイプに入力されたデータが保持されます。したがって、テキストフィールドの場合、これはほんの数文字になります。しかし、テキストエリアの場合、これは大量のデータになる可能性があります。

つまり、value列は少なくとも type でなければなりませんTEXT。ただし、ほとんどのタイプは 255 文字を超えません(MAX VARCHAR)

これが正しいアプローチであるかどうかはわかりません。テーブルにクエリを実行すると、パフォーマンスが低下しますか? テキストエリアのデータを別のテーブルに保存する必要がありますか..? それともそのようなものですか?

または、value列をTEXT問題なく型に変更するだけでよいでしょうか..?

4

1 に答える 1

2

VARCHAR の最大長はMySQL 5.0.3より前は255で、MySQL 5.0.3以降では最大長は65535で、これは最大行サイズであるため、行内のすべてのフィールドで最大値が共有されます。

dev.mysql.com/doc/refman/5.0/en/char.htmlを参照してください。

于 2012-09-24T15:49:53.670 に答える