0

我有一个包含 133,000,000 行的数据库表。我的数据库数据在一年内都不会改变,所以我不需要任何插入到这个数据库中,也不需要任何东西我只需要从中获取数据。例如,获取具有澳大利亚国家/地区的 60 行。考虑到数据量,这很慢。我的问题是,将我的数据存储到索引良好的文件中是否更好。例如,制作所有字母和数字的文件夹。

所以会有 35 个文件夹 A,B,C,D,E,....,7,8,9 然后在每个文件夹中都有一个用于国家、城市等的文件夹......所以澳大利亚进入 A ->国家 -> 澳大利亚,然后在澳大利亚文件夹中,我将数据库中的所有澳大利亚数据分成文件。

这会比仅查询 133,000,000 行的表更快吗?

4

2 回答 2

2

这实际上取决于您要如何查询数据。如果您想要做的唯一查询是按国家/地区,那么按国家/地区过滤它会起作用 - 如果您想按城市或州查询怎么办?人口超过 500 万的城市的数据?那时,结构良好、索引良好的数据库每次都会获胜。

于 2013-04-25T06:55:16.977 回答
0

您可以根据国家/地区名称将主表划分为子表。例如table_canada对于来自国家/地区的所有行canada和来自国家/地区table_usa的所有行usa等等。然后如果你想从他们那里获取数据,你的代码应该是这样的:

$country = "canada"; //or from a form like $country = $_POST['country'];
$table = "table_" . $country;
$query = "SELECT * from $table ...";
...
于 2013-04-25T08:42:47.697 回答