Mysql
 sql >> база данни >  >> RDS >> Mysql

Нуждаете се от помощ за оптимизиране на географско търсене по ширина/дълга за mysql

Мисля, че наистина трябва да помислите за използването на PostgreSQL (комбиниран с Postgis).

Отказах се от MySQL за геопространствени данни (засега) поради следните причини:

  • MySQL поддържа само пространствени типове данни/пространствени индекси в MyISAM таблици с присъщите недостатъци на MyISAM (относно транзакции, референтна цялост...)
  • MySQL внедрява някои от спецификациите на OpenGIS само на база MBR (минимален ограничаващ правоъгълник), което е доста безполезно за най-сериозната геопространствена обработка на заявки (вижтетази връзка в ръководството за MySQL ). Вероятно ще ви трябва част от тази функционалност рано или късно.

PostgreSQL/Postgis с правилни (GIST) пространствени индекси и правилни заявки могат да бъдат изключително бързи.

Пример :определяне на припокриващи се полигони между "малък" избор от многоъгълници и таблица с над 5 милиона (!) много сложни полигони, изчислете размера на припокриването между тези резултати + сортиране. Средно време на изпълнение:между 30 и 100 милисекунди (Тази конкретна машина има много RAM, разбира се. Не забравяйте да настроите вашата инсталация на PostgreSQL... (прочетете документите)).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използвайки MySQL, как да избера ранг на резултата от заявката на един конкретен ред?

  2. Какъв е еквивалентът на командата spool в MySQL?

  3. Работа с INTERVAL и CURDATE в MySQL

  4. Как да променя типа данни на колоната на таблицата върху повече от 1 колона?

  5. хибернация + mysql + зареждане на данни във файл