タグ

ブックマーク / blog.code4history.dev (1)

  • mysql空間拡張とGeoHash, quadkeyについて検索速度を比較してみた & quadkeyって何?の紹介 - Code for History

    1週間程前かな?退社間際にやったSQL調整がどうしてもうまくいかず、100ms程度だった検索速度が空間検索条件を外すと爆速になったので、十分な確認もなく短絡して、Twitterで「mysqlの空間検索遅過ぎる!使えねー」と呟いてしまいました。 明日になればGeoHashとかquadkey*1のような一次元空間コード検索に変更してやるぞと。 が、翌日取り急ぎ検索条件をquadkeyに変更してやっても、特に速くならない。 あり?と思ってよくよくさらにチェックしてやると、複合検索のプロファイルの見方を間違えてて、テーブル間のリレーションキーで非空間テーブル=>空間テーブルの向きは主キーでリンクされてたけど、その逆はリレーションキーにインデックスを張ってなかったので、オプティマイザの選択が先に非空間テーブルの検索条件=>フィルタされたレコードに対し逐次空間検索、となっていたのが遅い原因でした。 非

    mysql空間拡張とGeoHash, quadkeyについて検索速度を比較してみた & quadkeyって何?の紹介 - Code for History
  • 1