以下のクエリは現在、3つの異なる配列から緯度、経度、およびIDの入力を受け取るループ(PHPの場合)内にあります。配列内の位置/キーごとに、以下のクエリを使用してテーブルから最も近い地理的場所が選択されます。
配列のサイズは通常約500であるため、最も近い地理的位置を見つける必要がある500セットの入力には時間がかかります。
私の質問:phpからの入力配列を一度に使用して1つのクエリを使用し、各配列キーのすべての最も近い地理的位置のセットを選択する方法はありますか?
$sql="SELECT
id, d, tolon, tolat, du,
( 3959 * acos( cos( radians($lat1) )
* cos( radians( travel.tolat ) )
* cos( radians( travel.tolon) - radians($lon1) )
+ sin( radians($lat1) )
* sin( radians( travel.tolat ) ) ) ) AS distance
FROM travel
WHERE userid = $id AND tolon > $lonlow AND tolon < $lonhigh AND tolat > $latlow AND tolat < $lathigh
having distance < $maxdistance ORDER BY distance
";