0

在最近使用 PHP 进行的锻炼中,我遇到了一个共享服务器。

而且,Web 主机为每个 MySQL 数据库提供有限的存储空间(比如 1GB)。

在这种情况下,我的应用程序将处理 10k+ 用户和大量特定于站点的数据,每个数据库最多可以存储 1 GB(在这种情况下),但我可以添加具有 1 GB 存储容量的无限数据库。

那么有什么办法,如果我的 MySQL 数据库大小达到允许的最大存储空间,并且我正在添加更多数据库,我可以将负载/查询/数据传输到该添加的数据库,并且可以从两个数据库执行类似搜索的查询?

或者从一开始,我可以添加两个或多个具有相同架构的数据库,那么我可以对它们执行搜索查询并检索数据吗?

IE

DB1 TBL1 TBL2 TBL3
DB2 TBL1 TBL2 TBL3

USER1 的信息存储在DB1
中 USER2000 的信息存储在DB2中

4

1 回答 1

0

如果您从一开始就知道表中有多少数据,那将非常容易。您拆分数据(例如按 id 或按表),您的应用程序必须拥有所有数据库详细信息并决定从哪里获取数据。不过,您应该考虑至少 25% 的准备金。

例子:

database 1: table users, comments with ids 1-200.000
database 2: table posts with ids 1-10.000
database 3: table users, comments with ids 200.000-400.000
...

如果您不知道每个 id 将存储多少数据,您应该选择一个允许每个数据库有更多存储空间的主机,因为处理每个保存不同数据集的多个数据库将是可怕的。

于 2013-08-19T13:12:51.023 回答