【数据库】Postgres 和 MySQL 的性能对比

发布于:2024-10-24 编辑:匿名 来源:网络

简介 在 Arctype 社区中,我们解答了很多关于数据库性能的问题,特别是 Postgres 和 MySQL 之间的性能问题。性能是管理数据库中一项关键而复杂的任务。

它可能受到配置、硬件或操作系统的影响。 PostgreSQL和MySQL的稳定性和兼容性取决于我们的硬件基础设施。

并非所有关系数据库 (RDBMS) 都是一样的。 PostgreSQL和MySQL虽然在某些地方是相似的,但是在不同的使用场景下却有着各自的性能优势。

虽然我们在上一篇文章中讨论了它们之间的一些基本差异,但性能方面还有更多差异值得讨论。在本文中,我们将讨论工作负载分析和运行查询。

然后我们将进一步解释一些可以提高 MySQL 和 PostgreSQL 数据库性能的基本配置。最后,我们总结一下 MySQL 和 PostgreSQL 之间的一些关键区别。

目录 如何衡量性能 查询 JSON 性能 索引开销 数据库复制和集群并发 总结 如何衡量性能 MySQL 因其出色的读取速度而受到称赞,尽管混合使用读写操作时并发性较差。 PostgreSQL(通常称为 Postgres)将自己描述为最先进的开源关系数据库,并已发展成为符合标准且功能丰富的数据库。

此前,Postgres 的性能更加平衡,即读取速度普遍比 MySQL 慢,但后来它有所改进,现在可以更高效地写入大量数据,从而实现更好的并发处理。 MySQL 和 Postgres 的最新版本已经稍微消除了两个数据库之间的性能差异。

使用 MySQL 中旧的 MyIsam 引擎读取数据非常快。不幸的是最新版本的 MySQL 并没有使用这个引擎。

但是,如果您使用InnoDB(允许键约束、事务),则差异可以忽略不计。 InnoDB 中的功能对于拥有大量用户群的企业或应用程序至关重要,因此使用旧引擎不是一个选择。

但随着MySQL版本的不断更新,这种差异变得越来越小。数据库基准测试是一种可重复的实验框架,用于表示和比较数据库系统或这些系统上的算法的性能(时间、内存或质量)。

这个实用的框架定义了被测系统、工作负载、指标和实验。在接下来的四节中,我们讨论每个数据库的性能优势。

Postgres 中的 JSON 查询速度更快 在本节中,我们将了解 PostgreSQL 和 MySQL 之间的基准测试差异 步骤 创建一个项目(Java、Node 或 Ruby),其数据库使用 PostgreSQL 和 MySQL。创建一个JSON对象,然后执行读写操作。

整个 JSON 对象大小约为 14 MB,大约创建数据库中的条目。统计 PostgreSQL: 平均时间(ms): Write: .25, Read: 31.65, Update: 26.26MySQL: Average time (ms): Write: .05, Read: 49.99, Update: 62.45 从上面的结论可以看出PostgreSQL在处理JSON时比MySQL表现更好的数据,这当然是PostgreSQL的亮点之一。

我们可以对数据库进行频繁的操作(读、写、更新)来了解其性能,然后选择最好的一个在您的项目中使用。从上面的测试数据结果我们可以知道,虽然MySQL比PostgreSQL快,但这只是在特定条件下。

索引 索引是任何数据库最重要的功能之一。数据库查询数据时,带索引的查询比不带索引的查询要快很多。

不过索引也会给数据库带来额外的开销,所以我们一定要明智地使用索引,不要盲目使用。在没有索引的情况下,数据库在查找数据时会进行全文检索(Full Text),即从第一行开始逐行比较查找。

这种情况下,数据量越大,查询速度就越慢。 PostgreSQL 和 MySQL 都有一些处理索引的特定方式: B 树索引:PostgreSQL 支持 B 树索引和哈希索引。

同时,PostgreSQL还支持以下功能: 表达式索引:我们可以为表达式或函数创建索引,而不是使用字段。本地索引:索引只是表的一部分。

假设PostgreSQL有一个用户表,表的每一行代表一个用户。那么表可以这样定义: 代码语言: javascript copy CREATE TABLE users (id SERIAL PRIMARY KEY, email VARCHAR DEFAULT NULL, name VARCHAR);假设我们为表创建以下索引: 上述两个索引有什么区别?索引#1 是本地索引,索引#2 是表达式索引。

正如 PostgreSQL 文档所述,“本地索引建立在由条件表达式(称为本地索引的谓词)定义的表中行的子集上。该索引仅包含满足谓词的那些表行的条目。

使用本地索引的主要原因是避免对常见值建立索引,因为通常发生在代表所有表行的百分之几的值上的查询无论如何都会遍历表的大部分内容,因此使用索引的好处可以忽略不计。策略是创建完全排除这些行的部分索引,从而加快使用索引的查询的速度,因为不需要索引,所以这也会使许多写入操作更快。

在所有情况下均已更新。”——摘自 PostGres 文档 MySQL: :MySQL 对大多数索引使用 B 树数据结构(PRIMARY KEY、UNIQUE、INDEX、FULLTEXT)。

R-Tree 数据结构也用于特殊情况。 MySQL还支持Hash索引,在InnoDB引擎下使用FULLTEXT索引时,顺序是相反的。

数据库复制 PostgreSQL 和 MySQL 之间的另一个性能差异是复制。复制是指将数据从一个数据库复制到另一台服务器上的数据库。

这种数据分布意味着用户现在可以访问数据而不会直接影响其他用户。数据库复制的最大困难之一是协调整个分布式系统的数据一致性。

MySQL 和 PostgreSQL 提供了多种数据库复制选项。除了一个主服务器、一个备用数据库和多个备用数据库之外,PostgreSQL 和 MySQL 还提供以下复制选项: 多版本并发控制 (MVCC) 当用户同时对数据库进行读写操作时,这种现象称为并发现象。

因此,多个客户端同时读取和写入会导致各种边缘情况/竞争条件,即先读取然后写入同一记录 X 和许多其他条件。各种现代数据库利用事务来缓解并发问题。

Postgres 是第一个引入多版本并发控制 (MVCC) 的 DBMS,这意味着读取永远不会阻止写入,反之亦然。这一特性是企业更喜欢 Postgres 而不是 MySQL 的主要原因之一。

“与大多数使用锁进行并发控制的数据库不同,Postgres通过使用多版本模型来维护数据一致性。此外,在查询数据库时,无论底层数据状态当前处于什么状态,每个事务看到的都是数据快照(数据库版本) )和以前一样,它可以防止事务看到由(其他)并发事务更新对同一数据行造成的不一致数据,从而为每个数据库会话提供事务隔离” - 来自 PostGres 文档 MVCC 允许多个读取器和写入器与一个数据进行交互。

Postgres 数据库同时进行,从而避免每次有人与数据交互时都需要读写锁。一个附带的好处是这个过程可以显着提高效率。

MySQL采用InnoDB存储引擎,支持对同一行的写入和读取互不干扰。每次MySQL向一行写入数据时,它也会向回滚段写入一个条目。

此数据结构存储用于将行恢复到先前状态的回滚日志。之所以称为回滚段,是因为它是用来处理回滚事务的工具。

“InnoDB 是一个多版本存储引擎:它保留有关已更改行的旧版本的信息,以支持并发和回滚等事务功能。这些信息存储在表空间中称为回滚段的数据结构中(在Oracle)使用回滚段中的信息来执行事务回滚中所需的撤消操作。

” - 摘自 MySQL 文档 总结 在本文中,我们解决了 PostgreSQL 和 MySQL 之间的一些性能差异。虽然数据库性能会受到硬件、操作系统类型等影响,但最重要的是你对目标数据库的理解。

PostgreSQL 和 MySQL 都有各自的优点和缺点,但了解哪些功能适合项目并集成它们最终可以提高性能。

【数据库】Postgres 和 MySQL 的性能对比

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 老铺黄金等人“折A转港”

    老铺黄金等人“折A转港”

    老铺黄金A股崩盘后,选择转投港股。 11月10日,老铺黄金在香港联交所披露招股说明书。 梦金源今年9月向港股市场发起进攻,之前也曾遭遇过“A”的失败。 11月17日,深交所公告称,星期六福已于11月8日主动撤回上市申请。 黄金珠宝终端消费热情带动黄金珠宝企业业绩稳步上升,不

    06-18

  • 全球首次碳化硅MEMS微推力阵列在轨点火试验成功

    全球首次碳化硅MEMS微推力阵列在轨点火试验成功

    南京理工大学化工学院消息:近日,碳化硅MEMS(微机电系统)微推力阵列芯片在轨点火试验成功与金牛座纳米星运行37天后,从地面收到点火命令成功点火,金牛座纳米星的姿态控制技术在轨道上得到验证。 金牛座纳米卫星由八院所属上海依依斯航天技术有限公司研制。 9月12日11时26

    06-06

  • 【全球财经24小时】2023年9月21日投融资事件汇总及详情

    【全球财经24小时】2023年9月21日投融资事件汇总及详情

    今日全球市场共发生16起投资披露事件,其中境内13起,境外13起。 其中,国内先进制造业4例,医疗健康行业4例,汽车交通运输行业1例,电商零售行业1例,企业服务行业1例,传统制造业2例。 涉外医疗健康行业2例,金融行业1例。 国内事件 1、灵科药业完成C2轮融资,整体C轮融资金

    06-18

  • 相信你的耳朵,盲目测试全球最薄vivo X5Max的Hi-Fi 2.0

    相信你的耳朵,盲目测试全球最薄vivo X5Max的Hi-Fi 2.0

    vivo在年底前发布了年度旗舰——全球最薄vivo,它保持着全球最薄手机的记录。 此外,vivo X5Max还搭载全新手机Hi-Fi 2.0架构,使该手机成为全球音质最好的手机,媲美专业Hi-Fi玩家。 那么,什么是Hi-Fi 2.0?根据vivo提供的信息,Hi-Fi 2.0采用了二次供电+二次放大+专业音频解

    06-17

  • 共享纸巾平台“纸鼠”完成数百万元天使轮融资,白马金服投资

    共享纸巾平台“纸鼠”完成数百万元天使轮融资,白马金服投资

    据投资界2月6日消息,共享纸巾平台“纸鼠”近日宣布,已完成数百万元天使轮融资,投资方为白马金服。    据悉,本轮融资资金将用于共享卫生纸机的升级、研发和市场拓展。   Paper Mouse成立于今年10月,是一个组织共享平台。 公开信息显示,纸鼠目前已预订多台卫生纸机,

    06-18

  • 尊湃通信完成数亿元Pre-A轮融资,致力于提供全系列Wi-Fi芯片及解决方案

    尊湃通信完成数亿元Pre-A轮融资,致力于提供全系列Wi-Fi芯片及解决方案

    投资界(ID:pedaily)5月9日消息,尊湃通信科技(南京)尊湃传播股份有限公司(二)近日宣布完成数亿元Pre-A轮融资。 本轮由小米集团、虎山资本、天极资本、嘉域资本、上海科创海王资本、品智信息等知名金融投资机构投资。 以及产业投资者的构成。 此前,尊湃通讯于5月21日完

    06-18

  • 宜家最酷的未来产品都来自这个神秘的实验室

    宜家最酷的未来产品都来自这个神秘的实验室

    在哥本哈根肉类加工区的中心地带,有无数的画廊、艺术咖啡馆和创意工作室。 其中有一栋由鱼市场改建而成的平米建筑。 利用技术和好奇心来绘制宜家的未来蓝图。 这就是宜家资助的 SPACE10 冒险之旅的起点。 作为宜家的未来生活实验室和产品创意孵化器,SPACE10总是开发一些超级

    06-21

  • 李彦宏内部信宣布李震宇晋升为百度集团高层副总裁

    李彦宏内部信宣布李震宇晋升为百度集团高层副总裁

    百度创始人与CEO李彦宏通过内部信宣布,百度集团副总裁和智能驾驶集团总经理李震宇晋升为集团高层副总裁,并将继续担任全面负责IDG的业务和管理工作,并向集团CEO汇报。

    06-17

  • 艾罗能源正计划在A股IPO,主要产品包括光伏储能系统等

    艾罗能源正计划在A股IPO,主要产品包括光伏储能系统等

    艾罗能源正在筹划A股IPO。 公司长期专注于家用光伏逆变器、家用储能设备等新能源供电设备的研发。 、生产、销售。

    06-18

  • 香港理工大学研发出适用于可穿戴电子装置的高透气超弹导电材料

    香港理工大学研发出适用于可穿戴电子装置的高透气超弹导电材料

    2020年3月24日,香港理工大学(理大)研发出适用于长时间佩戴电子装置的高透气超弹导电材料一段时间。 。 这种创新的导电材料采用涂层或印刷的方法,将液态金属材料添加到静电纺丝制成的弹性纤维网上。 它不仅具有高透气性、弹性、导电性且具有高导电稳定性,可广泛应用于健

    06-06

  • 冯仑:有了这样的制度环境,创新只是“副产品”

    冯仑:有了这样的制度环境,创新只是“副产品”

    近日,万通集团创始人冯仑在WISE超级进化者大会上谈到创新时表示,个人驱动力是一方面,外部的制度环境也很重要。 冯仑表示,必须有一个允许民营企业存在的制度环境,企业才愿意创新。 比如,土地1-2年不开发就被拿走,比如加大健康住房的投入,但登记价格和不创新一样,企业

    06-18

  • 杨迪、麻子、谢广坤都做出了“爆炸性的改变”,这背后是谁?

    杨迪、麻子、谢广坤都做出了“爆炸性的改变”,这背后是谁?

    亚洲换头术的魔力在短视频继续放大。 前一分钟杨迪还自嘲小眼睛,后一分钟成功变身男团酷偶像。 苹果手机的面部识别功能在真正的“苦力”面前不得不被打败。 《狂飙》中的麻子哥变身为五官精致的清秀美男。 无奖猜测。 原本只是想看热闹的网友们大概没有想到,看完一个视频后

    06-18