1

郵便番号による検索を機能させるのに問題があります。私はグーグルを検索して検索しましたが、私が見つけたものはすべて遅すぎるか、動作しません。問題は次のとおりです。

私はすべての米国の郵便番号(そのうちの〜70,500)を含むテーブルを含むデータベースを持っており、それらの郵便番号を含む数千の店舗(〜10,000 +)のテーブルを持っています。郵便番号を提供し、その郵便番号に最も近い店舗のリストを距離で並べ替えて返すことができる必要があります。

誰かが私に、彼らが使用していてこれだけの負荷を処理できる優れたリソースを教えてもらえますか、または彼らが使用したクエリを共有して、それが機能し、それについてかなり速いですか?よろしくお願いします。ありがとう!

4

1 に答える 1

4

緯度と経度が関連付けられた各郵便番号を持つテーブルを作成する必要があります。誰かが郵便番号と距離を入力すると、その中に含まれる緯度と経度の範囲を計算し、その境界ボックスに含まれるすべての郵便番号を選択します。次に、そのセット内に郵便番号がある店舗を選択し、提供された郵便番号からの距離を計算して並べ替えます。(地球上の点間の距離を計算するには、半正矢関数を使用します)

速度が主な関心事である場合は、すべての距離を事前に計算することをお勧めします。ストアの郵便番号列、他の郵便番号、および距離の列を含むテーブルを用意します。行を削減する必要がある場合は、他の郵便番号を特定の距離(たとえば、100マイルまたはあなたが持っているもの)内の郵便番号に制限できます。距離に基づいてリンクを制限しない場合、7億行を超えるテーブルが作成されますが、高速ルックアップを確実に実行できます。

于 2010-02-14T06:20:05.813 に答える