【问题标题】:Differences between PostgreSQL and MySQL for PHP developersPHP 开发人员的 PostgreSQL 和 MySQL 之间的差异
【发布时间】:2012-07-20 13:42:58
【问题描述】:

对于数据库上的大多数查询都包含诸如“在多边形内”之类的要求的项目,我开始考虑选择带有 PostGIS 的 PostgreSQL 而不是我以前主要使用的 MySQL。主要是因为PostgreSQL有更多的GIS功能。但是,我不确定如何评估这一点,也无法从 PHP 开发人员的角度真正看到差异。

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

希望你们能帮我澄清一些。

【问题讨论】:

  • 前两个问题是的。

标签: php mysql sql postgresql postgis


【解决方案1】:

PostgreSQL 支持与 PHP 的集成是否与 MySQL 一样好?

是的。也许更好,更多PHP functions 可以让事情变得非常简单。

编写 PostgreSQL 查询 (SQL) 是否与 MySQL 非常相似?

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

在选择 PostgreSQL 而不是 MySQL?

PostgreSQL 尚未在廉价托管服务提供商上广泛使用。但它是可用的。

在使用 GIS 数据时,按定义使用 PostgreSQL 是不是更好的解决方案?

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


编辑: 检查这两个比较:

PostGIS 已升级至 2.0 版,PostgreSQL 已升级至 9.1 版,9.2 即将推出。

MySQL 的 GIS 功能很少,性能欠佳,对于 GIS 来说不是一个严肃的选择。

【讨论】:

  • 非常感谢您的反馈!您能否澄清“当您需要 GIS 查询时,MySQL 是个笑话”?
  • @preyz for GIS 有一大堆 MySQL 缺失的功能。它没有投影引擎,只有does a bounding box rather than a point-in-polygon analysis(除非您使用最新版本),链接到 MySQL 的 GIS 工具较少等。PostGIS 在 GIS 方面比 MySQL Spatial 提供的任何东西都要成熟得多.
【解决方案2】:

从纯粹的 PHP 角度来看,如果您使用 PDO,那么 - 除了构造函数 - 您的代码几乎可以与数据库无关。

【讨论】:

  • 但是你失去了特定数据库的所有好处。性能和功能将受到影响。
  • PDO 仅提供使用主要 SQL 语法的结构,并有助于转义并向表达式添加正确的引号。它不否认使用特定的功能,也不是只保留必要的 SQL 机会。一个严肃的项目不能基于通用 SQL。但是,如果您开发开源产品(例如框架的扩展),则需要避免特定于平台的功能。两种方法都没有问题。顺便说一句,我在 MySQL、Postgres、SQL Server 之间进行了几次真正的迁移。在某些开始阶段还可以。
猜你喜欢
  • 1970-01-01
  • 2011-01-23
  • 1970-01-01
  • 1970-01-01
  • 2018-07-24
  • 1970-01-01
  • 2018-12-30
  • 2017-01-22
  • 1970-01-01
相关资源
最近更新 更多