我有两条路线,
1)为每个用户创建子表并存储其个人内容
2)创建几个表并在其中存储所有用户的数据。
例如。
1)100,000个表,每个表有1000行
2)50个表,每个表具有2,000,000行
我想知道哪条路线是最好和最有效的。
背景信息:与Facebook一样,数百万用户可以看到他们的帖子,照片和标签。所有这些信息都在一些巨型表格中供所有用户使用,或者每个用户都有其自己的子表。
最佳答案
这是MySQL中这两种方法的优缺点。
1.很多小 table 。
缺点:
优点:
2.大表很少
缺点:
优点:
根据我的经验,一个两百万行的表(我已经处理过七千万行的表),如果您能够将所有 Activity 索引加载到内存中,在MySQL下就不是性能问题。
如果您有很多并发用户,建议您评估其他技术,例如Elastic Search,这种技术似乎更适合此类情况。
关于php - MySQL性能-表数与之比较。行数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9965203/