私たちは大きなロケーションDBを持っています。 DBはMySQLでホストされています。の数と(カテゴリが列である)カテゴリー別 ロケーションデータベースを持つ大規模なMySQL DB(21MMレコード) - 各ロケーションに緯度経度があります。 '近くのクエリ'を実行する必要があります
近く
- 場所:
は、我々は、クエリの2種類を実行する必要がありますレコードが増加すると、このクエリは大幅に減速するようです。
SELECT *, (3959 * acos(cos(radians(40.759105)) * cos(radians(Latitude)) * cos(radians(longitude) - radians(-73.984654)) + sin(radians(40.759105)) * sin(radians(Latitude)))) as distance FROM mcw_in WHERE Latitude <> '' ORDER BY distance LIMIT 0,20
遅さに対処するためにMySQLでインデックスを作成するにはどうすればよいですか?地理空間データ型のような他のソリューションはありますか?