2012-07-21 107 views
6

对于一个项目中,大多数查询数据库将包括像“一个多边形内”的要求我来想想在PostGIS,而不是MySQL的,这是我以前主要用于选择PostgreSQL的。主要是因为PostgreSQL有更多的GIS功能。但是,我不确定如何评估这一点,也无法真正看到与PHP开发人员视角的区别。差异PHP开发人员

  1. PostgreSQL支持与PHP一样是否与MySQL一样集成?
  2. 正在写PostgreSQL查询(SQL)与MySQL非常相似?
  3. 在选择PostgreSQL而不是MySQL时有没有需要注意的地方?
  4. 根据定义,PostgreSQL在使用GIS数据时是更好的解决方案吗?

希望你们能帮助我澄清一些这方面。

+0

是的两个第一个问题。 – 2012-07-21 15:54:36

回答

15

是PostgreSQL的支持集成同样出色PHP作为MySQL的是什么?

是的。甚至更好,更多PHP functions可用于使事情变得非常简单。

正在编写PostgreSQL查询(SQL)与MySQL非常相似吗?

是的,它是SQL。但是您确实拥有更多高级功能,例如Oracle和SQL Server。

当选择PostgreSQL而不是 MySQL时,有没有需要注意的地方?

PostgreSQL是没有廉价的托管服务提供商普遍。但它是可用的。

PostgreSQL的定义是使用GIS数据时更好的解决方案吗?

当你需要GIS查询和PostGIS(PostgreSQL中的函数和数据类型)是市场上最好的GIS数据库之一时,MySQL是个玩笑。


编辑: 检查这两个比较:

PostGIS的已经转移到2.0版本和PostgreSQL 9.1版本,9.2即将到来。

MySQL只有一些GIS功能,缺乏性能,对于GIS来说这不是一个严肃的选择。

+1

非常感谢您的反馈!你能否澄清一下“当你需要GIS查询时MySQL是个玩笑”? – preyz 2012-07-22 01:43:33

+0

@preyz for GIS有一大堆丢失的MySQL功能。它没有投影引擎,只有[边界框而不是点多边形分析](http://stackoverflow.com/questions/1078386/see-if-lat-long-falls-within- a-polygon-using-mysql)(除非你使用最新版本),连接到MySQL的地理信息系统工具较少。等等,PostGIS在GIS方面比任何MySQL Spatial提供的要成熟得多。 – 2012-07-22 23:10:18

0

从纯PHP的角度来看,如果你使用PDO然后 - 构造一边 - 你的代码可以是非常数据库无关。

+1

但是,比起你放弃特定数据库的所有好处。性能和功能将受到影响。 – 2012-07-21 21:15:05

+0

PDO仅为使用主SQL语法的结构提供结构,并有助于转义并向表达式添加正确的引号。它并不否认使用特定的功能,并不是只保留重要的SQL机会。一个严肃的项目不能基于通用SQL。但是,如果你开发一个开源产品(例如框架的扩展),你需要避免平台特定的功能。这两种方法都没有问题。顺便说一下,我在MySQL,Postgres,SQL Server之间做了几次真正的迁移。在一些开始阶段没关系。 – 2012-07-24 20:44:28