多个数据库或多个行表

时间:2014-08-15 20:26:37

标签: mysql sql database

我有一个关于大公司如何管理数据库结构的问题,假设我有一个类似shopify的电子商务应用程序,这是你采取的最佳方法:

a)当一个新用户创建一个帐户时,专门为该用户创建一个带有他的表的新数据库(我想如果由于某种原因这个数据库失败,其他用户的其他数据库仍然有效)?

b)当新用户创建帐户时,应用程序只是在表中为其登录创建一个新行而不是创建新数据库,然后所有用户的所有产品都在同一个表中,只有user_id是商店的一种产品与另一种商品的区别。

提前致谢。

3 个答案:

答案 0 :(得分:1)

是的,你应该选择第二个选项(b),原因很多:
1.数据库中的大多数数据都可供所有用户访问,因此您不希望将相同的数据存储在多个位置。
2.迟早,您将提出要在不同用户之间共享或链接数据的功能等 3.与第二种选择(b)相比,您的第一选择(a)将非常耗费资源 嗯,列表可以继续... :)

答案 1 :(得分:0)

显然,第二种选择 - 效率更高,更智能。

考虑用户数量,例如10k。 你真的不想处理这么多桌子!

答案 2 :(得分:0)

我会使用选项B.这将减少您的工作量,并有助于报告需求。只需确保在写入数据库表时使用强大的数据库设计来处理负载。