所以,
我需要一个设置表来管理我的网络应用的某些部分。
我想出了这个:
CREATE TABLE `settings` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`key` char(55) NOT NULL DEFAULT '',
`value` longtext NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `key` (`key`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
我想知道将设置划分为int和text containsign是否有益。所以我会在另一个表中拥有除了words_stop之外的所有内容。
你怎么看?这有益吗?或者我可以坚持长篇大论并将所有内容放在同一张桌子上?答案 0 :(得分:0)
将它们分开是没有意义的,没有。
通过将数字存储为数字类型而获得的两个主要好处是,您有时最终会存储较少的实际位,并且在某些DBMS中对实际数字类型执行数学运算会更容易。我怀疑你会遇到太空问题,我怀疑你会用这些价值观做数学。不值得将它们分开,它只会变得混乱。
答案 1 :(得分:0)
我认为就性能而言,这会影响太多。如果要创建另一个表来存储文本,那么您将需要一个列来存储外键,然后将表链接到settings
表。
如果你有一个非常庞大的表并且表中有很多列而你正在使用*