15
2つの緯度/経度ポイント間の距離を見つけるための最速の方法
現在、mysqlデータベースには100万弱の場所があり、すべてに経度と緯度の情報が含まれています。 クエリを使用して、1つの点と他の多くの点の間の距離を見つけようとしています。特に、1秒あたり100以上のヒットが必要なほど高速ではありません。 これのために、mysql以外のより高速なクエリまたはより高速なシステムはありますか?私はこのクエリを使用しています: SELECT name, ( 3959 * acos( cos( radians(42.290763) ) * cos( radians( locations.lat ) ) * cos( radians(locations.lng) - radians(-71.35368)) + sin(radians(42.290763)) * sin( radians(locations.lat)))) AS distance FROM locations WHERE active = 1 HAVING distance < 10 ORDER BY distance; 注:提供される距離はマイル単位です。キロメートルが必要な場合は、の6371代わりに使用してください3959。