热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

MySQLPostgresSQL等数据库大评测_MySQL

MySQLPostgresSQL等数据库大评测

随着互联网的发展和自由软件软件运动的日益活跃,越来越多的人开始将各种数据库应用于自己的网络应用中。于是,各种各样的数据库系统出现在互联网的舞台上,这里最常用的两种数据库是MySQL和 PostgreSQL,在互联网有着不同的应用和用户群。有趣的是,就象在操作系统领域里面FreeBSD 和 Linux之间的争论一样,在这两种数据库之间也存在着不小的争论,而且这些争论有时候很大程度上影响了用户的自己的判断,同时也会令用户做选择的时候感到难受,为了便于大家用自己的眼光看问题,我们特地在这里整理了一些各个方面提供的对比信息,集中起来,供大家作为参考。同时,我们收集的材料还有其他数据库的一些信息,为了尽可能为大家提供比较完整的信息,我们也一并收录了进来。这里我们主要进行特性和性能的比较,还有其他一些很重要的因素,如版权和活跃性等,可以比较容易地在我们后面的其他资源部分得到,这里不再复述。
版权声明
本文所引用的资料由该资料的原着和/或其中文译者所有,本文允许做任何非商业用途的自由转载,但是转载时请参考各个作者各自的版权声明,若有冲突,请与相应作者联系。文中出现的数据和结果都是经过各个作者认真和严格的专业检验的,但是作者对任何数据和结果不做任何承诺和保证也不对因本文造成的任何后果承担任何责任。
版本
v1.0.0RC1
他山之石
这里是晏子兄整理的Matthias Warkus 写的一份比较。

这里是来自一位俄罗斯黑客的评价。
王婆卖瓜
这里收集了一些各方面自己的评测和对比。

这部分的内容是网友wangbin收集整理的。
PostgreSQL 的测试
PostgreSQL自己的对比测试比较简单,主要是基于特性方面的比较,不过很有意思的是在这个列表里面没有MySQL 的身影,从 PostgreSQL 的概念而言 MySQL好象不是一个完整的数据库,大概是因为目前MySQL 还缺乏一些关键的数据库特性吧。

这里是 PostgreSQL 自己做的一个 简单的对比。
MySQL 的测试
MySQL提供了一个数据库测试套件,也是在我们收集的材料中最为丰富和详细的数据资料了。除了提供了与PostgreSQL 的对比,它还提供了与许多其他数据库的对比数据。MySQL的比较主要基于速度和性能等方面,在其所有参评平台比较中有特性比较,但是缺少了一个正在成为自由软件的RDBMS —— InterBase(InterBase 称从6.0开始开放源码,不过不知道是否GPL)。

下面的内容是 MySQL站点上的获取的信息和测试结果:

你可以从 MySQL 源码发行版本中找到测试程序的完整源码和一些对比数据表。

有 _fast 标记的表项是在非标准 ANSI SQL 模式同时允许使用清理命令(cleanup calls)的情况下测试得到的。这不再是百分之百的 SQL,但这些数据表项仍十分有用。

有一些表项是匿名的 MySQL 用户寄给我们的,所以不能保证这些测试数据完全准确,我们建议你在自己感兴趣的数据库上 运行这个测试程序。如果你愿意和我们共享你的测试结果,你可以将‘output’目录下的文件用 ftp 上传到‘www.tcx.se/pub/mysql/incoming’下,这样我们就可以在将来的测试结果中发布这些测试数据。
以下的图表是所有参测数据库在crash-me 中的比较
crash-me 中提供的所有参评数据库的比较
以下的图表是 Linux 平台上的 PostgreSQL 和 MySQL 的对比
PostgreSQL 和 MySQL 的对比数据表

同 MySQL 的相对比较,绝对比较
以下图表是 win98 平台上 Access 2000 和 MySQL 的对比
Access 2000 和 MySQL 的对比数据表

同 MySQL 的相对比较,绝对比较
以下是 Linux 平台上 AdaBas 和 MySQL 的对比
AdaBas 和 MySQL 的对比数据表

同 MySQL 的相对比较,绝对比较
以下是 NT 4.0 平台上 DB2, Informix, MS-SQL, MySQL, Solid 和 Sybase 的对比表
NT 4.0 平台上的 DB2, Informix, MS-SQL, MySQL, Solid 和 Sybase 的对比数据表

同 MySQL 的相对比较,绝对比较
以下是 Linux 平台上 Empress,PostgreSQL,MySQL 和 MySQL 的对比表
NT 4.0 平台上的 Empress, PostgreSQL, MySQL 和 SolidSybase 的对比数据表

同 MySQL 的相对比较,绝对比较
以下是 Linux 平台上 MySQL、PostgreSQL 和 Solid 的对比表
Linux 平台上 MySQL、 PostgreSQL 和 Solid 的对比数据表

同 MySQL 的相对比较,绝对比较
以下图表是 NT 平台上 MySQL 和 Oracle 8.0.3 的对比
注意,这个测试中 Oracle 是通过 ODBC 访问的!许多用户使用 Oracle 自己的 API 来获得更快的速度!

MySQL 和 Oracle 7.0 的对比数据表

同 MySQL 的相对比较,绝对比较
以下图表是 mSQL 和 MySQL 的对比,因 mSQL 的局限,限制在很少的比较内容范围内
mSQL 和 MySQL 的对比数据表

同 MySQL 的相对比较,绝对比较
以下的表显示了 MySQL 是如何在不同的平台上工作的
注意不同平台间 CPU 时钟速度和可用内存的差别

不同平台上的数字对比

同 MySQL 的相对比较,绝对比较

附:

TCX的声明信息:

这些信息是由TCX 提供的,所以用户可以得到不同数据库的真实情况(而不是销售商提供的信息)。希望以上的信息能够使你容易地找到具有你需要的功能而你有能够放心使用的这么一个数据库服务器。

我们会继续努力使MySQL 测试帮助用户了解数据库在做不同的典型的工作时的运行速度。

TCX 也会继续开发 crash-me 展现数据库服务器的真正的缺陷和性能。
其他一些资源
在 www.linux.com 和 www.linuxcare.com里面还有一些投票性质的比较,这些主要是用户的个人喜好和观点,没有明确的测试标准和手段,但是还是对大家有一定参考价值,我们在这里列出链接,请大家自己访问这些链接看看投票结果。
班门弄斧
从上面的这些评测我们可以看出这两种数据库的共同特点就是特点鲜明,各有重点与弱点,那么是否我们就可以得出孰优孰劣的结论而确定支持什么不支持什么呢?我们认为不是这样,因为两种数据库的开发都非常活跃,许多现在的缺点很快就可能得到弥补,比如:在MySQL 的 TODO 列表里面,事务的支持很明显的放在了最重要的位置;而PostgreSQL 的最新版本 7.0的速度和稳定性都有极大的提高,而且在 7.1中将对现有大对象接口进行大的增强;这些都说明,两者都在进步,都在不断地发展,真正做决定的还是作为应用开发人员的我们自己,通过合理的分析,扬长避短,正确地选用合适自己的数据库,最大限度的满足应用的需要。不要忘记,作为计算机从业人员的任务就是用我们的学时和经验为非专业人员提供服务。最后,我们将继续这份信息比较工作,不断更新我们的信息,希望能为大家提供更详细的材料

推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
author-avatar
猫心晴空5_826
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有