MySQL spatial VS PostGIS
Function 
Mysql spatial extension 
PostGIS 
Spatial index 
MyISAM only supports R tree index, InnoDB does not support 
GIST tree (R tree varieties) 
Space type support 
Only two dimensional data 
Twodimensional, threedimensional and curve 
Space operation function 
The space function is limited 
The basic realization of spatial manipulation functions defined in OGC standard 
Example: to find the blue point inside a polygon, MySQL space expansion can only be found in the minimum bounding rectangle (red box) of points, while PostGIS can detect any point inside a polygon.


Space projection 
Does not support 
Support a variety of common projective coordinate system 
Example: to find the distance between two points. MySQL Spatial can only calculate the Euclidean space distance, but PostGIS can calculate the real space distances of different projection coordinates 

Transaction support 
Does not support 
Provides a series of long transaction support PostGIS, can effectively support the complicated spatial analysis functions 
Query efficiency 
The loading speed: MySQL > PostGIS (transaction) Create a spatial index: MySQL <PostGIS (diff split algo) Query: MySQL PostGIS (Each has its own merits. different query results are not the same,) 

Using the GIS system 
Use less 
The use of more, such as OpenStreetMap background database is Postgresql+Postgis 
Summary: if only do some simple GIS application or LBS, MySQL provides spatial extensions can basically meet the. But if you need more complex, the MySQL spatial extensions provides features may not enough, then Postgresql+postGIS may be more suitable.
Posted by Carrie at April 19, 2014  3:41 AM