1 つの郵便番号 (ユーザーが提供する) と他の多数の郵便番号 (現在、約 200 の郵便番号があります) の間の距離を比較するために、(読み込み時間に関して) 最も効率的なものを見つけようとしています。 、ただし、時間の経過とともに増加する可能性があります)。ボールパークだけで正確なものは必要ありません。
米国全体の郵便番号 csv ファイルをダウンロードし、2 つの郵便番号間の距離を生成する関数を取得しました (ラジアン単位だと思います)。距離を表示する必要はありません。 200 の郵便番号。最も近いものが最初の結果になります。
csv ファイルを mysql テーブルにアップロードしました。200 の郵便番号すべてを循環して、距離を含むそれぞれのフィールドを更新できると考えていました。次に、ORDER BY を使用して、最も近いものから最も遠いものへと並べ替えます。
これを行うためのより効率的な方法を知っている人はいますか? この方法では、検索クエリが実行されるたびに、郵便番号のデータベース全体を更新する必要があります。郵便番号が 200 しかないので、今は大したことではありませんが、データベースが構築されるにつれて読み込み時間が遅くなると思います。アドバイスをよろしくお願いします。