つまり、要するに
- 緯度と経度のデータ型は何ですか?
- たとえば、最初の100近くのレストランを取得するには、どのSQLコマンドを呼び出す必要がありますか?
詳細:
緯度と経度がそれぞれ10万件のビジネスレコードがあります。MySQLが実際にポイントと呼ばれるデータ型をサポートしていることがわかります。代わりに使用する必要がありますか?
MySQLはKDTreeストレージシステムをサポートしますかhttp://en.wikipedia.org/wiki/File:KDTree-animation.gif
緯度と経度を格納するには、通常のfloatデータ型ではなくポイントデータ型を使用するのが最善ですか?
最終的には、たとえばポイント105,6に最も近い最初の100軒のレストランのようなものを見つけたいと思います。私のデータベースには、たくさんのビジネスとポイントが含まれています。明らかに、すべてのレコードとすべてのポイントの距離を1つずつ計算することはO(n)であり、それで問題があります。
私はYelpのようなアプリケーションはデータベースから距離情報を効率的に取得する方法で説明されているより簡単な解決策を知っており、最初に自分も実装することに注意してください。それは良い答えです。
しかし、私はそれを上回るはずの作物の答えの1つのクリームがあると思いますか?実際、緯度と経度に基づいて場所を保存し、それに最も近いものを見つけることは、mysqlに特別な設計パターンがあることを期待する非常に一般的な問題です。それはありますか?
詳細はどこで確認できますか?ありがとう。