这回是 mysql5.7 和 pg9.6 了, mysql 还是差 pg 很多

2016-10-19 11:52:01 +08:00
 cstj0505

上次发现 mysql 和 pg 性能差太多,然后就发了个帖: https://www.v2ex.com/t/298841#reply22

不少人说 mysql 改用 5.7 ,然后发现默认下 5.7 性能还不如 5.5. 数据库写入 mysql 的 InnoDB 实在太慢, SSD 情况下也才 1 万 5 左右, 4 个线程同时写入每个 1.3 万。 pg 一个线程就 7.8 万了。

然后全表扫描上,我把 mysql 的 InnoDB 和 MyISAM 都尝试了, sql 是: select max(sa) from (select c,sum(a) sa from PXFTEXTTB group by c order by 2) t; 1 亿条数据的时候, InnoDB 67.59 秒, MyISAM 40.92 秒, pg 是 12.28 秒 5000 万差别最大, InnoDB 34.34 秒, pg9.6 4.14 秒

而且索引 pg 也比 mysql 快。 a 字段是 sequence ,值从 1-1 亿。在 a 上创建 btree 索引,对 10 万条汇总。 sql 为: select sum(c) from PXFTEXTTB2 where a<70000000 and a>69900000; InnoDB : 0.19 秒 MyISAM : 0.14 秒, pg : 0.038 秒

2569 次点击
所在节点    数据库
29 条回复
Lao9
2016-10-19 12:05:51 +08:00
这是肯定的、写入速度 pg 天然就有优势 。
cstj0505
2016-10-19 12:22:37 +08:00
@Lao9 查询也差相当多,我最开始诧异的就是查询速度
Infernalzero
2016-10-19 13:32:19 +08:00
只是你对 mysql 的了解不够而已,不然现在大型互联网公司为何都是清一色选择 mysql?
dontwanttologin
2016-10-19 13:36:04 +08:00
pg 有什么好用/用的顺手一些的客户端工具吗? MySQL 配合 Sequel Pro 用的很爽。
wsy2220
2016-10-19 13:38:00 +08:00
pgsql 用起来比 mysql 爽多了
pmpio
2016-10-19 13:40:20 +08:00
而且,据说 pg 比 mysql 更遵守 SQL 规范。。。
jackysc
2016-10-19 13:47:28 +08:00
@dontwanttologin pgadmin 试试
faywong8888
2016-10-19 13:50:42 +08:00
pgadmin +1
jjx
2016-10-19 13:55:25 +08:00
用 mysql 多的是先入为主,而且是有积累了, 掉头不容易

pg 对复杂查询的性能远超 mysql, 稳定性也远超 mysql, 在企业软件中不用 pg, 是你的损失
twl007
2016-10-19 13:56:22 +08:00
为什么不跟 MariaDB 对比一下呢 0 0
cstj0505
2016-10-19 14:00:22 +08:00
@Infernalzero 我尽量选的相同的功能来测的,都是全表扫描,都是 btree 索引,这个和我了不了解 mysql 有什么关系?
另外, mysql 作为 lamp 的一员随着互联网发展起来并广泛传播,而且入门简单,这和 mysql5.7 的性能没 pg9.6 好有关系吗?
cstj0505
2016-10-19 14:01:43 +08:00
@twl007 回头有时间试试,确实现在 mariaDB 才是 mysql 正统。
cstj0505
2016-10-19 14:02:35 +08:00
@dontwanttologin pgadmin+1
VeryEase
2016-10-19 14:07:10 +08:00
@dontwanttologin 可以使用 Navicat for Postgresql 精简版, 授权费用不到 300 ,个人可以承受,已经够用了,经济允许可以买完全版本,带模型设计功能。 pgadmin3 是开源的,也一直在用,功能略微简单,最新出来的 pgadmin4 比较强大,但是卡到不行,而且用了几次有崩溃的情况,直接删除了。
Infernalzero
2016-10-19 14:08:47 +08:00
@cstj0505
测这种, innodb_flush_log_at_trx_commit 参数你改了吗,其他还有不少呢
真以为 mysql 只是因为 lxmp 才用的多?
不说淘宝,fb 这些特别大型的公司, uber 之前都因为 pg 太坑转了 mysql
ivmm
2016-10-19 14:14:04 +08:00
Mysql 要用企业版去比。

社区的话,得用 Percona 和 MariaDB 来对比
cstj0505
2016-10-19 14:19:44 +08:00
@Infernalzero 改完之后就没一个统一的尺度了,牺牲一些东西追求极限性能,这也不是通常的应用场景吧。

我从 1000 万, 5000 万,刀 10000 万数据都试了一遍, pg 写入查询都比 mysql 好很多。

都是默认配置下测的, pg 也没做任何修改。

另外 uber 这件事请有些 pg 的原因,但是事实上也和 uber 工程师不太了解 pg 有关。

不少人回应过那篇文章,包括上次那个帖子离也有人提到了。

你只要稍微动动手指就能查到。
cstj0505
2016-10-19 14:21:16 +08:00
@ivmm 有时间再试试 mariDB
choury
2016-10-19 14:34:10 +08:00
@cstj0505 好吧,默认配置……
mathgl
2016-10-19 15:05:21 +08:00
@cstj0505 uber 那件事在 pg list 有讨论。它的问题现在 pg 都有解决方案。至于它为什么要换库,这个不完全是技术的原因。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/313812

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX