sql >> Database teknologi >  >> RDS >> Mysql

Brug for hjælp til at optimere en lat/lon geo-søgning efter mysql

Jeg synes virkelig, du skal overveje brugen af ​​PostgreSQL (kombineret med Postgis).

Jeg har opgivet MySQL for geospatiale data (indtil videre) på grund af følgende årsager:

  • MySQL understøtter kun rumlige datatyper/rumlige indekser på MyISAM-tabeller med de iboende ulemper ved MyISAM (vedrørende transaktioner, referenceintegritet...)
  • MySQL implementerer kun nogle af OpenGIS-specifikationerne på en MBR-basis (minimum afgrænsende rektangel), hvilket er ret ubrugeligt til de fleste seriøse geospatiale forespørgselsbehandlinger (sedette link i MySQL-manualen ). Sandsynligvis får du brug for noget af denne funktionalitet før eller senere.

PostgreSQL/Postgis med korrekte (GIST) rumlige indekser og korrekte forespørgsler kan være ekstremt hurtige.

Eksempel :Bestemmelse af overlappende polygoner mellem et 'lille' udvalg af polygoner og en tabel med over 5 millioner (!) meget komplekse polygoner, beregn mængden af ​​overlap mellem disse resultater + sortering. Gennemsnitlig kørselstid:mellem 30 og 100 millisekunder (denne særlige maskine har selvfølgelig meget RAM. Glem ikke at justere din PostgreSQL-installation... (læs dokumenterne)).



  1. Sådan fungerer SCHEMA_ID() i SQL Server

  2. Codeigniter db->update() VS MySQL native OPDATERING Berørte rækker:0

  3. Hvordan kontrollerer man, om der findes en tabel eller en kolonne i en database?

  4. Mislykket bygningshjul til psychopg2 - MacOSX ved hjælp af virtualenv og pip