我有一个假设根据数据类型存储变量的函数,这是我用来存储这些变量的表。我想我要问的是,如果将所有内容都分解为更明智,或者更明智的是只为组中最大数据类型的最大类别使用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)
);
答案 0 :(得分:0)
我在电子商务应用程序“Magento”中找到的最佳答案。它们将每种数据类型转储到属性表(attribute_type_text,attribute_type_int)以保持这些动态而不浪费空间,然后使用主数据对象和相关属性之间的关系加入现有数据。