假设您有一个用户登录才能使用的网站。每个用户访问页面,在其中向单个数据库表添加和删除信息。只有他们才能查看和访问他们的数据。非常简单。
现在,假设该网站非常受欢迎。更多用户 + 更多数据 = 一个包含大量记录的非常大的表。
所以我想知道,出于负载平衡的原因,是否最好不要让每个人都添加相似的数据的一个表,而是拥有多个相似的表,并将用户分配给与一定数量的用户共享的表.
因此,您可能有 100 个表,每个表仅由 10 个用户访问,而不是 1000 个用户选择并更新一张大表。
我想知道这是一种可以改善负载平衡的数据库组织策略吗?或者它会导致相同的负载吗?这是一种常见的策略吗?如果是的话,有一个名称吗?
抱歉,我以为我在 ServerFault 上发布了此内容。请迁移。
最佳答案
如果您确实遇到了与数据库相关的瓶颈,那就是事件数据集的大小超出了服务器上的 RAM 量。到那时,在同一服务器内拆分表不会给您带来任何好处;它不会改变磁盘 IO 比 RAM 慢几个数量级的事实。您将升级 RAM,或者在尽可能完成升级后将数据分片到多个服务器上。
关于mysql - 拆分数据库表以平衡负载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6922197/