sql >> データベース >  >> RDS >> Mysql

経度と緯度で距離を計算してSQLクエリを最適化するにはどうすればよいですか?

    ここにいくつかのアイデアがありますが、正確な状況によっては当てはまらないものもあります。

    1. 緯度と経度をラジアンに変換して、それを行に保存することもできます。これにより、これらの計算のコストを節約できます(実際には、データを保存するときにコストが1回発生します)。
    2. テーブルが非常に大きい場合は、Haversinceの数式ではなく、単純な線形距離の計算を使用して、Haversinceの数式を適用する結果を制限できます。
    3. 最初のフィルターとして適切な他のデータ(国/地域など)がテーブルにある場合は、それを最初に適用できます。
    4. 結合を並べ替えて、距離フィルターの後に適用されるようにして、資格のないデータに結合のコストがかからないようにすることができます。


    1. justify_hours()がPostgreSQLでどのように機能するか

    2. 複数のフィールドを単一のフィールドに連結し、単一の間隔で配置します

    3. 致命的なエラー:functions.phpの25行目でsession_start()を再宣言できません

    4. PHP / MySQLでAgeを毎日更新できるように、BirthdateとAgeを保存するにはどうすればよいですか?