をCOORDS:MYSQL - ポイントを取得するための最速の方法は、周りの私は場所によって周囲に「私を」のポイントを取得しようとしていると、それは非常に簡単です
select * from X where ((SQRT(POW(69.1 * (a.lat - 49.201441), 2) +
POW(69.1 * (16.161299 - a.lng) * COS(a.lat/57.3), 2))) <='1') LIMIT 5
*
my location = 49.201441;16.161299
distance = 1 (mile)
は、このクエリは、私に返し5 1マイルの距離で "私"の周りを指します。これはかなり早いですが、私のテーブルにはちょうど...私は知らないでしょう、おそらく5000行。
私は200 000行のテーブルでこのクエリを使用していますが、それは非常に遅いです!たぶん.. 2〜7秒、限界が1であっても差はない。
誰かが私にそれを説明してくれますか?ありがとう、たくさんの人!
BTW:私のクエリにこの部分のクエリが含まれていない場合は、おそらく0.0008秒かかるので、クエリの第2部分は正しいです。
http://stackoverflow.com/a/39257396/575376 –