Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Potrzebujesz pomocy w optymalizacji wyszukiwania geograficznego dla mysql

Myślę, że naprawdę powinieneś rozważyć użycie PostgreSQL (w połączeniu z Postgisem).

Zrezygnowałem z MySQL dla danych geoprzestrzennych (na razie) z następujących powodów:

  • MySQL obsługuje tylko przestrzenne typy danych / indeksy przestrzenne w tabelach MyISAM z nieodłącznymi wadami MyISAM (dotyczące transakcji, integralności referencyjnej...)
  • MySQL implementuje niektóre specyfikacje OpenGIS tylko na podstawie MBR (minimalny prostokąt ograniczający), co jest całkiem bezużyteczne w przypadku większości poważnych zapytań geoprzestrzennych (patrzten link w podręczniku MySQL ). Prawdopodobnie będziesz potrzebować niektórych z tych funkcji wcześniej lub później.

PostgreSQL/Postgis z odpowiednimi indeksami przestrzennymi (GIST) i odpowiednimi zapytaniami może być niezwykle szybki.

Przykład :określanie nakładających się wielokątów między „małym” zaznaczeniem wielokątów a tabelą z ponad 5 milionami (!) bardzo złożonych wielokątów, obliczanie wielkości nakładania się tych wyników + sortowanie. Średni czas działania:od 30 do 100 milisekund (Ta konkretna maszyna ma oczywiście dużo pamięci RAM. Nie zapomnij dostroić instalacji PostgreSQL... (przeczytaj dokumentację)).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WSTAW DO .. W AKTUALIZACJI DUPLIKOWANEGO KLUCZA dla wielu elementów

  2. Jak wstawić wiele wierszy w pojedynczej instrukcji wstawiania?

  3. Jak zapobiec sytuacji wyścigowej w rezerwacji hoteli online?

  4. Znajdź rekordy z polem daty z ostatnich 24 godzin

  5. Odległość w metrach między dwoma punktami przestrzennymi w zapytaniu MySQL