功能html |
Mysql spatial extension mysql |
PostGISsql |
空間索引數據庫 |
僅MyISAM支持R樹索引,InnoDB不支持 函數 |
GIST樹索引(R樹的變種)post |
支持的空間類型spa |
僅二維數據htm |
二維、三維以及曲線blog |
空間操做函數索引 |
有限的空間函數 |
基本實現OGC標準定義的空間操做函數 |
例:想查找藍色多邊形內的點,mysql空間擴展僅能查出在最小外包矩形(紅色框)內的點,而postgis能查出任意多邊形內的點。 |
||
空間投影 |
不支持 |
支持多種經常使用投影座標系 |
例:想查找兩點間距離。MySQL Spatial僅能計算歐式空間距離,而PostGIS能計算不一樣投影座標系下的真實空間距離 |
||
事務支持 |
不支持 |
PostGIS提供了一系列的長事務支持,能夠有效支持複雜的空間分析功能 |
查詢效率 |
加載速度: MySQL > PostGIS (事務) 空間索引的建立: MySQL < PostGIS (diff split algo) 查詢: MySQL PostGIS(不一樣性質查詢結果不同,各有千秋) |
|
GIS系統使用 |
使用較少 |
使用較多,例如openstreetmap的數據庫後臺就是Postgresql+Postgis |
小結:若是隻作一些簡單的GIS或者LBS的應用,MySQL提供的spatial extensions基本可以知足。但若是須要的功能更復雜一些,MySQL spatial extensions提供的功能可能就不夠用了,這時Postgresql+postGIS可能將更加合適。