Mysql Postgresql 抛开性能的对比

MySQL/MariaDB的当前版本是5.7.6(MariaDB为MySQL创建者Monty Widenius创建的一个MySQL分支),PostgreSQL的版本是9.4.1。

以下几个方面对比两者的最新版本:

  • ANSI标准兼容性:与先前的版本相比,MySQL已经有了长足的进步,但MySQL背后的哲学是,如果客户喜欢,他们就会支持非标准扩展,而PostgreSQL从开始就将标准构建到平台里。不过,二者殊途同归,差别不大;
  • ACID遵从性:PostgreSQL有一个存储引擎,而MySQL有9个,但只有MyIsam和InnoDB与大部分用户有关,其中,后者为默认存储引擎。InnoDB和PostgreSQL都完全遵循ACID,差别不大;
  • 无锁表修改:MyIsam使用表级锁来提升速度,这会导致写互斥。但PostgreSQL和InnoDB均使用行级锁,差别不大;
  • 子查询:长期以来,这一直是MySQL的一个弱点,虽然5.6.5作了重大改进,但PostgreSQL对表连接支持得更好,尤其是MySQL不支持全外连接,因此,这方面PostgreSQL胜过MySQL;
  • JSON支持和NoSQL:PostgreSQL最近增加了JSON支持,与传统的关系型数据库相比,它提供了更大的数据存储灵活性,因此,这方面PostgreSQL胜过MySQL。

PostgreSQL当前的优势:

  • 更好的许可:PostgreSQL采用类似MIT的许可协议,允许开发人员做任何事情,包括在开源或闭源产品中商用,而MySQL的客户端遵循GPL许可协议,所以开发人员必须向Oracle付费或者将自己的应用程序开源;
  • 更好的数据一致性: PostgreSQL会在数据插入和更新之前进行严格的验证,确保数据合法才会进行相应的操作,但在MySQL中,开发人员需要将服务器设定为严格SQL模式才能达到同样的目的,否则可能会产生不规范数据;
  • 服务器扩展:MySQL提供了 插件程序API ,支持C/C++或任何兼容C的语言,而且从5.7.3版本开始支持全文搜索,PostgreSQL有一个类似的系统但支持的语言更多,包括C/C++、 Java、.Net、Perl、 Python、Ruby、Tcl、ODBC等,它甚至可以在单独的进程中运行用户提供的代码;除了所有关系型数据库都包含的有关数据库、表和列的一般信息外,PostgreSQL系统目录中还可以包含关于数据类型、函数和存取方法的信息,开发人员可以通过修改这些信息实现扩展。
时间: 2025-01-31 20:53:15

Mysql Postgresql 抛开性能的对比的相关文章

[评测]低配环境下,PostgresQL和Mysql读写性能简单对比

[评测]低配环境下,PostgresQL和Mysql读写性能简单对比 原文链接:https://www.cnblogs.com/blog5277/p/10658426.html 原文作者:博客园--曲高终和寡 *******************如果你看到这一行,说明爬虫在本人还没有发布完成的时候就抓走了我的文章,导致内容不完整,请去上述的原文链接查看原文**************** 由于最近经过朋友启发,又有了一个写个人项目的小想法,在这次个人项目中准备学习并使用一些之前自己没有掌握的新

Redis各种数据结构性能数据对比和性能优化实践

很对不起大家,又是一篇乱序的文章,但是满满的干货,来源于实践,相信大家会有所收获.里面穿插一些感悟和生活故事,可以忽略不看.不过听大家普遍的反馈说这是其中最喜欢看的部分,好吧,就当学习之后轻松一下. Redis各种数据结构性能数据对比 测试工具:perf4j 性能指标:平均值,最小值,最大值,方差 对比将814条数据按单条插入到哈希MAP和哈希SET: 对比从814条数据的哈希MAP和哈希SET中判断一个元素是否存在(map的hasKey和set的isMember): 大量数据插入哈希MAP,运

一:MySQL数据库的性能的影响分析及其优化

MySQL数据库的性能的影响分析及其优化 MySQL数据库的性能的影响 一. 服务器的硬件的限制 二. 服务器所使用的操作系统 三. 服务器的所配置的参数设置不同 四. 数据库存储引擎的选择 五. 数据库的参数配置的不同 六. (重点)数据库的结构的设计和SQL语句 1). 服务器的配置和设置(cpu和可用的内存的大小) 1.网络和I/O资源 2.cpu的主频和核心的数量的选择 (对于密集型的应用应该优先考虑主频高的cpu) (对于并发量大的应用优先考虑的多核的cpu) 3.磁盘的配置和选择 (

(转)磁盘阵列RAID原理、种类及性能优缺点对比

磁盘阵列RAID原理.种类及性能优缺点对比 原文:http://www.cnblogs.com/chuncn/p/6008173.html 磁盘阵列(Redundant Arrays of Independent Disks,RAID) 1. 存储的数据一定分片: 2. 分基于软件的软RAID(如mdadm)和基于硬件的硬RAID(如RAID卡): 3. RAID卡如同网卡一样有集成板载的也有独立的(PCI-e),一般独立RAID卡性能相对较好,淘宝一搜便可看到他们的原形: 4. 现在基本上服务

使用动态跟踪技术SystemTap监控MySQL、Oracle性能

[IT168 技术]本文根据吕海波2018年5月11日在[第九届中国数据库技术大会]上的演讲内容整理而成. 讲师介绍: 吕海波,美创科技研究员,ITPUB管理版版主.出版技术书籍<Oracle内核技术揭密>,曾参加过两届数据库大会.IT老兵,22年IT领域从业经历,十数年数据库经验,惯看IT江湖风起云涌.曾在多家巨头型互联网公司(阿里.ebay.京东)从事数据库管理.数据架构.运维自动化工作.目前主要研究数据安全.敏捷运维等方向. 内容摘要: 时间都去哪儿了?这是性能调优时大家最爱问的问题.比

mysqlslap工具测试mysql DB的性能

mysqlslap的一个主要工作场景就是对数据库服务器做基准测试.     测试方法 1.测试工具:mysqlslap,mysqlslap是MySQL5.1.4之后自带的benchmark基准测试工具,该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较. 2.测试流程:建立测试数据库database和待测试的表tables → 根据table的结构,利用脚本生成一定数量的有效随机数据 → 利用mysqlslap对相应query语句进行测试 →

Oracle常用导出导出命令及性能效率对比

说明 Oracle导入导出命令主要有EXPDP和IMPDP.EXP和IMP,区别如下:EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用.EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用.IMP只适用于EXP导出的文件,不适用于EXPDP导出文件:IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件.expdp或impdp命令时,可暂不指出用户名/密码@实例名as 身份,然后根据提示再输入,如:expdp schem

mysql监控、性能调优及三范式理解

原文:mysql监控.性能调优及三范式理解 1监控 工具:sp on mysql     sp系列可监控各种数据库 2调优 2.1 DB层操作与调优 2.1.1.开启慢查询 在My.cnf文件中添加如下内容(如果不知道my.cnf的路径可使用find / -name my.cnf进行查找): 在mysqld下添加 Log_slow_queries = ON  作用:开启慢查询服务 Log-slow-queries = /var/log/slowqueries.log 作用:慢查询日志存储路径.

JS几种数组遍历方式以及性能分析对比

前言 这一篇与上一篇 JS几种变量交换方式以及性能分析对比 属于同一个系列,本文继续分析JS中几种常用的数组遍历方式以及各自的性能对比 起由 在上一次分析了JS几种常用变量交换方式以及各自性能后,觉得这种方式挺好的,于是抽取了核心逻辑,封装成了模板,打算拓展成一个系列,本文则是系列中的第二篇,JS数组遍历方式的分析对比 JS数组遍历的几种方式 JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比 第一