Mysql:为每个用户的帖子创建一个单独的表是否切实可行

时间:2015-07-26 13:24:09

标签: php mysql

所以我有一个网站,用户可以创建自己的商店'然后他们可以把商品放在商店里,那么为每个用户的商店创建一个表是否实用,或者我应该只为帖子添加用户ID?

1 个答案:

答案 0 :(得分:2)

您应该将用户ID添加到商店/帖子。您不希望为每个用户创建单独的表有很多原因:

  • MySQL旨在处理包含大量行的表,而不是具有相同结构的大量表。
  • 构建跨表的查询需要组合许多不同的表。
  • 对数据结构进行少量更改(例如添加新列)会成为一场噩梦。
  • 商店的外键引用变得不可能。
  • 如果用户的数据没有填充单个数据页,您最终会浪费很多的内存。

有些原因可能需要将数据拆分为单独的表。以下是一些可能的原因:

  • 在表级别比在行级别更容易管理访问。
  • 每个用户的数据复制可能有不同的要求。
  • 外部实体要求数据位于单独的表或数据库中。

然而,第一组理由似乎对单个表/实体结构的影响更大。这些更高级的问题似乎不是问题。