極端に遅い

ある点を指定して、

  1. その点を含むポリゴンを選ぶ
  2. その点を直交座標系に変換してから500m圏内にある点の集合を選ぶ

の二つが必要とします。
PostGISの場合は、

  1. ST_WithIn
  2. ST_Transform

の二つが威力を発揮してくれますが、MySQLにはそれが無いので、PHPで自作してみる。
で、PHPのmicrotime()を使って簡易計測してみると、PostGISの場合は0.05秒、MySQLは0.5秒。ちょうど一桁違いました。
MySQLで出せると思ったのに、これはさすがにまずい…。
理由はPHPで自作した部分だろうとは思っています。ただ、ST_Tranformの代替については、もっと早くできる(扁平率から計算させてるわけなので)と思いますが、ST_WithInについては、あまり早くならないだろうなーと。