我有一个133,000,000行的数据库表。我的数据库数据不会像一年一样发生变化,因此我不需要在此数据库中插入任何内容,也不需要从中获取数据。例如,获取具有国家澳大利亚的60行。考虑到数据量,这很慢。我的问题是,将数据存储到索引良好的文件中是否更好。例如,创建所有字母和数字的文件夹。
那么将有35个文件夹A,B,C,D,E,....,7,8,9然后在每个文件夹中都有一个国家,城市等文件夹...所以澳大利亚进入A - >国家 - >澳大利亚然后在澳大利亚文件夹内我将我的数据库中的所有澳大利亚数据分成文件。
获取php的速度是否比查询133,000,000行的表更快?
答案 0 :(得分:2)
这实际上取决于您想要查询数据的方式。如果您想要查询的唯一查询是按国家/地区进行过滤,那么按照国家/地区进行过滤也会有效 - 如果您想按城市或州查询,该怎么办?人口> 500万的城市数据?这是一个结构良好,索引良好的数据库每次都会获胜的。
答案 1 :(得分:0)
您可以根据国家/地区名称将主表划分为子表。例如table_canada
适用于国家canada
和table_usa
的所有行,适用于国家usa
的所有行,依此类推。然后,如果你想从中获取数据,你的代码应该是这样的:
$country = "canada"; //or from a form like $country = $_POST['country'];
$table = "table_" . $country;
$query = "SELECT * from $table ...";
...