组织Web门户数据库

时间:2018-04-01 20:43:02

标签: php mysql sql database stored-procedures

我想建立一个网络应用程序,为每个用户存储大量数据,所以我有一个问题,哪个解决方案更好:

  • 为每个用户创建一个单独的数据库
  • 创建一个大数据库,并在每个表中添加一个用户ID
  • 的列
  • ?另一种选择?

谢谢!

1 个答案:

答案 0 :(得分:4)

毫无疑问,创建一个带有用户ID列的“大”表是可行的方法。 SQL优化处理表中的数据,而不是处理数以万计的表。

以下是一些原因:

  • 性能。为每个用户设置一个单独的表意味着您将在数据页上有很多空白区域。
  • 跨所有用户合并数据。拥有单独的表意味着您的查询将非常复杂。
  • 维护。拥有单独的表意味着添加索引,新列等是一场噩梦。