地理的な場所 (国、都市など) が添付された IP アドレスの巨大なデータベースを構築しています。
現在、この単純なデータベース構造を使用しています。
id || ip_addr || country || city ||
私はすでにそれを構築し始めており、すでにほぼ 100 万件のレコードを持っています。問題は、多くの住所に同じ国が関連付けられており、データベースからのフェッチが非常に遅くなっていることです。
私がこれを行う場合、私は考えていました:
国テーブル:
countryID || countryName ||
都市テーブル:
cityID || cityName || countryID (for what country the city is in) ||
そして、ipTable :
id || ip_addr || countryID || cityID
フェッチが速くなりますか?
この方法はより効率的ですか (他の利点はありますか)? それとも、すでに持っているものに固執する必要がありますか?