我正在做一个使用MySQL和PHP的项目。我将有许多(数百到数千,可能)用户,并且每个用户将有许多(几千)与他/她相关的条目。我最初考虑将所有条目粘贴到一个表中,并让其中一列作为条目所对应的用户ID,但是这个表会变得很大,并且可能很难管理。我需要频繁地查询表以获取对应于特定用户ID的条目,这可能需要一段时间。但是,我很少需要查询不共享用户ID的数据。
我现在正在考虑为每个用户ID创建一个表(例如,类似于userID one的"table1“),然后只查询各个表。然而,拥有数千张表听起来也不是一个好主意。
你推荐哪一种?或者有没有我还没有想到的更好的解决方案?(我希望我的问题有意义!)
发布于 2011-09-05 00:12:06
要做到这一点,唯一有效的方法是将所有内容都放在一个表中。MySQL不是为这种极端的用法而设计的。
我建议您将所有条目放在一个表中,每个条目都有UserID。别忘了把索引放在那个字段上。
考虑多个表可能是合理的,但如果这样做,您的查询实际上将占用更多的时间,并且数据将使用更多的磁盘空间,因为每个表都会产生额外的开销。
数据分割不是一个选项,你只需要创建,当我们想要备份的时候,这会使你很困难。
这只是一个额外的评论:我见过很多次20 100的表,但我从来没有见过有超过100个表的数据库。
https://stackoverflow.com/questions/7300462
复制相似问题