Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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 数据库设计数据太少或太多_Mysql_Sql_Database_Database Design - Fatal编程技术网

Mysql 数据库设计数据太少或太多

Mysql 数据库设计数据太少或太多,mysql,sql,database,database-design,Mysql,Sql,Database,Database Design,我目前正在做一个使用MySQL的小项目。然而,我正在与数据库设计作斗争。目前,我已经提出了两种设计,一种存储更多的数据,但实际上是我想要的方式,然而这种方式使处理数据变得非常困难。另一种方式是我认为更基本,简化了很多事情,但存储的数据更少 设计1 示例数据项表 身份证件 描述 创建时间 1. 汽车 2021-04-17 17:30:00 2. 自行车 2021-04-17 17:30:00 是否有人对替代设计有建议/想法,该设计存储的数据比设计1少,但仍允许为每个用户添加更多信息 设计1应该有

我目前正在做一个使用MySQL的小项目。然而,我正在与数据库设计作斗争。目前,我已经提出了两种设计,一种存储更多的数据,但实际上是我想要的方式,然而这种方式使处理数据变得非常困难。另一种方式是我认为更基本,简化了很多事情,但存储的数据更少

设计1

示例数据项表

身份证件 描述 创建时间 1. 汽车 2021-04-17 17:30:00 2. 自行车 2021-04-17 17:30:00
是否有人对替代设计有建议/想法,该设计存储的数据比设计1少,但仍允许为每个用户添加更多信息

设计1应该有效

这种设计也可以工作,但填充速度很快,效率更高。 id、项目id、项目des、项目数量、用户id、用户名、创建时间都在一个表中。
某些值将重复。

这是过早的优化。选择存储所需数据的设计(您需要或不需要元数据的时间)。然后,在证明存在存储限制后,对其进行优化(此数据库仍然很小,在选项1中每行20字节,您需要5000万行才能达到1GB,这仍然足够小,可以驻留在内存中)。如果这是
用户
项目
之间的多对多映射,请参阅此优化:在user_items表中重复username和itemsdescription是一个非常愚蠢的想法。这将是一个事务(OLTP)数据库,而不是一个分析(OLAP)数据库,没有理由去规范化。此外,重复存储这些字符串可能会增加而不是减少存储占用空间。问题是“是否有一个替代设计的建议/想法,该设计存储的数据比设计1少,但仍允许每个用户添加更多信息?”,而不管OLAP或OLTP,用户必须确定哪一个最适合他们。我已经指定设计1将工作。有什么问题吗?