MYSQL,每个数据类型的列:是它还是有更好的方法?

时间:2011-05-19 13:57:49

标签: mysql types

我有一个假设根据数据类型存储变量的函数,这是我用来存储这些变量的表。我想我要问的是,如果将所有内容都分解为更明智,或者更明智的是只为组中最大数据类型的最大类别使用colunms? I.E.对于字符串数据类型,只有MEDIUMTEXT。我希望这个表变得非常大,我希望尽可能地保持表的存储空间需求。

CREATE TABLE IF NOT EXISTS form_part_detail(
form_part_detail_id  INT NOT NULL    AUTO_INCREMENT  PRIMARY KEY,
form_part_detail_type_id   INT NOT NULL,
label   VARCHAR(255) NOT NULL,
`dt_string`    VARCHAR(255)  NULL,
`dt_text`   TEXT   NULL,
`dt_mediumtext`    MEDIUMTEXT NULL,
`dt_integer`   INT NULL,
`dt_boolean`   TINYINT(1)  NULL,
`dt_float` FLOAT NULL,
`dt_double`    DOUBLE NULL,
FOREIGN KEY (form_part) REFERENCES `form_part` (form_part_id)
FOREIGN KEY (form_part_detail_type_id) REFERENCES `form_part_detail_type` (form_part_detail_type_id)
);

1 个答案:

答案 0 :(得分:0)

我在电子商务应用程序“Magento”中找到的最佳答案。它们将每种数据类型转储到属性表(attribute_type_text,attribute_type_int)以保持这些动态而不浪费空间,然后使用主数据对象和相关属性之间的关系加入现有数据。