Próbuję zaprojektować schemat MySQL, który może przechowywać listę użytkowników o skojarzonej szerokości i długości geograficznej.Jaki jest najlepszy sposób, aby skutecznie obliczyć, które punkty są zbliżone do danego czasu/długości za pomocą MySQL?
Byłbym wtedy, dla danego użytkownika, lubię zbudować zapytanie, które może zwrócić mu najbliższe 50 użytkowników i posortować tych użytkowników według odległości (z najbliższym prezentowanym jako pierwszy).
Biorąc pod uwagę, że w tej tabeli może być wiele tysięcy użytkowników, jaki jest najskuteczniejszy sposób przechowywania i wyszukiwania tych danych?
Czy rozważałeś zaglądanie do PostgreSQL? to natywnie obsługuje typy danych przestrzennych i ma wiele operatorów porównania dla bliskości, obudowa, itp ... – HorusKol
MongoDB obsługuje out-of-the-box Geospatial Index; główny przypadek użycia to ten sam, który podsumowałeś (np. Twoje przykładowe zapytania są prawie identyczne z tymi na stronie podsumowania Mongo na G/I.) – doug