わかりました、問題は次のようになります。n
column が空のデータベース行のセットがありますposition
。そのセット(3つの分離された列から)の住所データ(異なる組み合わせなど-問題ではない)を使用して、それらを別のm
要素のセット(これも住所データと必要な場所を含むデータベースから)と比較する必要があります。
これらのセットは非常に大きい (約 100 万件のレコードであり、操作は頻繁に実行される) ため、これら 2 つのセットを比較して必要なデータを見つけるには、非常に高速なアルゴリズムが必要です。
何かを見つけようとしましたが、それがよく知られた数学の問題であるかどうかはわかりません (グラフ理論でしょうか?)。
[編集]
構造は大きすぎてここでは説明できません。しかし、私はそのための例を作ります。
1を設定します。
|[ID] | [CITY] | [STREET] | [POSTCODE] | [LOCATION] |
|-----|--------|----------|------------|------------|
| 1 | City1 | Street1 | 00000 | NULL |
| 2 | City2 | Street2 | 11111 | NULL |
| 3 | City3 | Street3 | 22222 | NULL |
2 を設定します。
|[ID] | [SOME_KIND_OF_ADDRESS] | [LOCATION] |
|-----|-------------------------------------|------------|
| 1 | Street 1 in City 1, 00000 blah blah | SOME_XY1 |
| 2 | Street 2 in City 1, 00001 blah blah | SOME_XY2 |
| 3 | Street 2 in City 2, 11111 blah blah | SOME_XY3 |
| 4 | Street 1 in City 4, 33333 blah blah | SOME_XY4 |
の各要素についてSet 1
、 で何かを見つけようとしますSet 2
。この場合のみCity2, Street2
andCity1, Street1
が一致します。したがって、結果は次のようになります。
|[ID] | [CITY] | [STREET] | [POSTCODE] | [LOCATION] |
|-----|--------|----------|------------|------------|
| 1 | City1 | Street1 | 00000 | SOME_XY1 |
| 2 | City2 | Street2 | 11111 | SOME_XY3 |