0

1 億 3300 万行のデータベース テーブルがあります。私のデータベース データは 1 年間変更されないため、このデータベースに挿入する必要はなく、データベースからデータを取得するだけで済みます。たとえば、国がオーストラリアの 60 行をフェッチします。これは、存在するデータの量を考慮すると遅くなります。私の質問は、データを適切にインデックス化されたファイルに保存する方がよいかどうかです。たとえば、すべての文字と数字のフォルダーを作成します。

したがって、35個のフォルダーA、B、C、D、E、....、7、8、9があり、これらのフォルダーのそれぞれに、国、都市などのフォルダーがあります...したがって、オーストラリアはAに入ります->国 -> オーストラリア オーストラリア フォルダー内に、DB からのすべてのオーストラリア データがファイルに分割されています。

これは、1 億 3300 万行のテーブルをクエリするよりも、php がフェッチする方が速くなりますか?

4

2 に答える 2

0

国名に基づいてメイン テーブルをサブ テーブルに分割できます。たとえばtable_canada、country のすべての行、countryのすべての行canadaなどです。次に、それらからデータをフェッチする場合、コードは次のようになります。table_usausa

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