数据库设计,一个大表供多个用户使用,还是每个用户都有自己的表?

问题描述 投票:0回答:1

在我的网站上,我将有一个PHP注册表格,该表格将允许用户使用唯一的用户名注册到该网站,该用户名会将其注册信息插入名为“ Accounts”的MySQL数据库中。

用户注册后,他们将转到具有表单的页面,在该表单中可以输入多行数据,然后将数据提交到新的数据库表中。

最初,我要创建一个名为'INFO'的表,然后用户插入的每一行,将'Accounts'表中的用户名附加到列中的每个条目上,这样当我回想该用户的数据时对于网站的其他部分,我可以执行SQL WHERE子句,并根据用户名列查找用户输入的所有行。

INFO数据库将由多个用户共享,并且可能会变得很大,以至于用户可能会添加几百行数据,我担心这将是一个收集用户数据的过程缓慢,或者通常不是这样。存储/更新用户数据的最佳方法。

在注册时为每个用户创建一个新表,然后将其INFO填充到他们自己的专用表中会更有意义吗?

php mysql
1个回答
0
投票

当您向数据库布局添加更多数据时,数据库布局不应更改,因此用户数据一定应该在一个表中。

也:

  • 具有多个表意味着您必须动态创建查询。
  • 一个表的缓存查询计划将不会用于其他任何表。

  • 在一个表中有很多数据不会对性能产生多大影响,但是有很多表会影响性能。

  • 如果要向表中添加索引以加快查询速度,则在单个表上执行此操作要容易得多。
© www.soinside.com 2019 - 2024. All rights reserved.