AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 111863
Accepted
Massimiliano Torromeo
Massimiliano Torromeo
Asked: 2010-02-12 03:07:22 +0800 CST2010-02-12 03:07:22 +0800 CST 2010-02-12 03:07:22 +0800 CST

MySQL 在某些方面比 PostgreSQL 更好吗?

  • 772

我知道这个问题听起来很挑衅,但事实并非如此。我最近发现 MySQL 在很多领域都受到限制,并且越来越喜欢 PostgreSQL。它的扩展性要好得多,并且比 MySQL 更尊重 SQL 标准。

不过,我对 PostgreSQL 世界还是很陌生,因为我愿意在我未来的所有项目中离开 MySQL,所以我想知道的是:MySQL 是否有任何特定的功能做得更好(如更多比 PostgreSQL 性能更高或更用户友好等)?

我想知道我会从 MySQL 中错过什么。我已经发现 MySQL 中的 AUTO_INCREMENT 字段比 PostgreSQL 中的 SEQUENCES 更方便,并且过去在 Windows 中的部署是有问题的(不再是问题。对我来说从来没有问题)。

还有什么?

mysql sql postgresql
  • 7 7 个回答
  • 3738 Views

7 个回答

  • Voted
  1. aardbol
    2010-02-12T05:34:06+08:002010-02-12T05:34:06+08:00

    PSQL 的 COUNT(*) 也慢得多。您应该为这种功能创建触发器。

    • 3
  2. Best Answer
    cagenut
    2010-02-12T05:58:37+08:002010-02-12T05:58:37+08:00

    您显然是从开发人员的角度来解决这个问题的,因此您可能会在 SO 上找到更有用的答案。

    从管理的角度来看:
    - 复制 (HA)
    - 复制(扩展*)
    - 复制(备份)
    - 应用程序支持
    - 社区的规模和深度(文档、支持)
    - 现有安装基础/可用工作

    *请注意,您提到postgres了更好的缩放。扩展对每个人来说都意味着不同的东西,但作为一般规则,具有将负载分散到多个服务器的路径的东西比没有的东西扩展得更好。

    • 3
  3. Joe H.
    2010-02-12T05:56:43+08:002010-02-12T05:56:43+08:00

    因为 Postgres 有效地为每个更新执行写时复制(以便它可以处理事务),如果您不需要事务,并且相对于读取执行大量写入,MySQL 将不会有 PostgreS 的开销将要。(每条更新的记录都需要多写,更新索引等)

    • 2
  4. Egon
    2010-02-12T03:21:30+08:002010-02-12T03:21:30+08:00

    我能想到 PostgreSQL 缺少的一件事:

    • 整理

    我认为阻塞,插入或更新也有一些东西。但我似乎不记得它实际上是什么。:S

    • 1
  5. wzzrd
    2010-02-12T06:05:10+08:002010-02-12T06:05:10+08:00

    'handy' 的 auto_increment 字段不是很相关,不是吗?Oracle有序列,无疑是世界上使用最广泛的商业数据库。

    这是关于 PostgreSQL 是否更安全等方面的大量信息。我只是将您指向PostgreSQL wiki 上的此页面(毫无疑问,这是一个有色人种的意见,但无论如何这就是您要寻找的内容)。

    很多人在这个页面上提到 MySQL 对新手更友好。所以?向我解释这在关键任务环境中的重要性。

    • 1
  6. poige
    2013-08-15T00:15:34+08:002013-08-15T00:15:34+08:00

    MySQL 通常被称为SQL'ed grep。对我来说(在撰写本文时),它看起来很像 PHP —— 很尴尬,但很受欢迎。

    我想知道我会从 MySQL 中错过什么。

    尝试从一开始就重命名数据库。;) 然后添加(缺少)条件索引。

    PS我可以指出 MySQL 至少有一个无可争议的好特性——它支持相当节省空间的数据类型,例如(无符号)字节。当相应地使用时,这可以节省大量的 RAM 和磁盘空间。但是,唉。并且对您提供的链接进行比较真的很漂亮。

    • 1
  7. mage2k
    2010-03-12T16:33:04+08:002010-03-12T16:33:04+08:00

    auto_increment 很方便,直到您意识到它们对插入并发性极高的表很不利,此时它们成为瓶颈,您被迫使用 MyISAM 表实现序列。

    无论如何,为了回答你的问题,MySQL 所做的最大的事情就是很容易设置允许复制链接和读取从属的复制。但是,Postgres 将在下一个版本 9.0(已经处于 alpha 状态)中拥有它。

    • 0

相关问题

  • 跨地理位置不同的服务器的 MySQL 复制

  • 从 MySQL 迁移到 SQL Server 的最佳方法或工具

  • 您如何跟踪和调试 mySQL 性能问题?

  • 在 Linux Xen VPS 上优化 Apache 和 MySQL

  • 如何选择 MySQL 数据库引擎

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve