Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将表拆分并创建包含3列的新表是否更好+;外国ID,或仅将其设为n+;3列,并且不使用连接?_Mysql_Database_Database Design - Fatal编程技术网

Mysql 将表拆分并创建包含3列的新表是否更好+;外国ID,或仅将其设为n+;3列,并且不使用连接?

Mysql 将表拆分并创建包含3列的新表是否更好+;外国ID,或仅将其设为n+;3列,并且不使用连接?,mysql,database,database-design,Mysql,Database,Database Design,我正在为一个项目设计一个数据库。我有一个有10列的表,大多数列在访问该表时使用,我需要再添加3列 View Count Thumbs Up (count) Thumbs Down (Count) 访问表时,将在%90个查询上使用。所以,我的问题是,将表拆分并创建一个新表,该表将具有这3列+外部ID,还是将其设为13列并不使用联接 由于这些列将被频繁使用,我想再添加3个列会更好,但是如果我需要再创建10个列,这些列将在90%的时间内被使用,我应该也添加它们,还是创建一个新表并使用联接 如果列被频

我正在为一个项目设计一个数据库。我有一个有10列的表,大多数列在访问该表时使用,我需要再添加3列

View Count
Thumbs Up (count)
Thumbs Down (Count)
访问表时,将在%90个查询上使用。所以,我的问题是,将表拆分并创建一个新表,该表将具有这3列+外部ID,还是将其设为13列并不使用联接

由于这些列将被频繁使用,我想再添加3个列会更好,但是如果我需要再创建10个列,这些列将在90%的时间内被使用,我应该也添加它们,还是创建一个新表并使用联接


如果列被频繁使用,我不确定什么时候该打破表。你有什么建议吗?

既然用例数量如此之多(90%),而且字段只是数字(不是文本),那么我当然倾向于将字段添加到现有表中


编辑:仅当信息较大和/或不常访问时,才将表分开。没有固定的规则,如果您不确定其好处,您可能只需要运行测试。

使用频率与表布局无关,至少在开始使用大型表(行数或列数)之前是如此


要回答的问题是:是否使用附加列对其进行规范化。谷歌it,有很多关于它的资源(虽然质量参差不齐)

我的建议和cedo的一样:使用13个栏目


向数据库中添加另一个表和另一个索引可能会占用您节省的空间,但会导致更慢、更复杂的查询。

如今,空间不是什么大问题——我想说,向表中添加列的决定应该基于“列是否与表直接相关”,而不是“这些列的使用频率”


因此,基本上,是的,将它们添加到表中。有关主流数据库设计的进一步考虑,请参阅。

尝试查看n,以了解规划数据库结构的一些明确的指导原则。

与之前的一些海报一样。95%的时候,您应该基于逻辑实体设计表。如果您有13个数据元素l描述相同的“事物”,而不是它们都属于一个表。不要根据你期望它们被使用或一起使用的频率将它们分成多个表。这通常会产生比解决问题更多的问题

如果你得到了一个表,它有大量的非常大的字段,并且只有少数几个是正常使用的,它会导致性能问题,那么你可以考虑分解它。但是,当你看到它真的会导致性能问题时,你应该这样做。在这个领域先发制人的攻击几乎总是错误的。e


根据我的经验,只有当有一些很少使用的、非常大的文本字段时,出于性能原因拆分表才会显示出任何价值。例如,当有一个“杂项额外评论”字段或“该客户正在撰写的小说的文本”时“

谢谢。。这张桌子目前有10万行,所以它没有那么大,但我们预计在几个月内会有大约30万到40万行,而且它有可能有很多访客,所以我对设计有一些担心。