目录搜索
oracle知识ORACLE的数据类型Oracle技术网—DBMS_Job包的用法Oracle技术网—Oracle for NT系统实用工具介绍Oracle技术网—Oracle常见错误代码Oracle技术网—Oracle常用ScriptOracle技术网—Oracle常用数据字典Oracle技术网—ORACLE数据库简介Oracle技术网—Oracle特殊包Oracle技术网—Oracle相关站点Oracle技术网—哪些初始化参数最影响Oracle系统性能PL/SQLDBAOracle7 7.3.2.2Oracle技术网—listener.log的内容增长很快,是否可以删除重建Oracle技术网—ORACLE表空间恢复方案Oracle技术网—Oracle常用系统文件有哪些Oracle技术网—ORACLE回滚段管理(上)Oracle技术网—ORACLE回滚段管理(下)Oracle技术网—Oracle如何决定使用哪个回退段Oracle技术网—Oracle数据库的空间管理技巧Oracle技术网—Oracle数据库碎片整理Oracle技术网—Oracle数据库有哪几种关闭方式Oracle技术网—Oracle数据库有哪几种启动方式Oracle技术网—Oracle预定义角色有哪些Oracle技术网—ROLLBACK不能回滚的命令Oracle技术网—查看哪些session正在使用哪些回滚段Oracle技术网—存储参数(storage子句)含义及设置技巧Oracle技术网—和权限有关的表有哪些Oracle技术网—漫谈数据库的启动和关闭Oracle技术网—哪些初始化参数最影响Oracle系统性能Oracle技术网—如何备份控制文件Oracle技术网—如何查出前台正在发出的sql语句Oracle技术网—如何查看Oracle版本及安装了哪些选项Oracle技术网—如何查看Oracle数据表的建表语句Oracle技术网—如何查看SGA区剩余可用内存Oracle技术网—如何查看各个表空间占用磁盘情况Oracle技术网—如何查看后台进程Oracle技术网—如何查看什么时间有哪些数据库对象结构被修改过Oracle技术网—如何查看数据库的各种数据文件Oracle技术网—如何查看数据库的字符集Oracle技术网—如何查看数据文件是否自动扩展Oracle技术网—如何查看数据文件所在的路径Oracle技术网—如何查看用户表上的约束内容Oracle技术网—如何查看用户表所占空间的大小Oracle技术网—如何查询出primary key和forgen key的关系表Oracle技术网—如何改变当前联机日志文件的大小Oracle技术网—如何利用DBMS_SQL包和游标计算当前用户下所有表的行数Oracle技术网—如何启动ARCHIVELOG模式Oracle技术网—如何取出某一用户的密码,再原封不动的改回去Oracle技术网—如何设置BLOCK_SIZE大于2K,如:4K、16KOracle技术网—如何手工指定使用哪个回退段Oracle技术网—如何修改internal的口令Oracle技术网—如何移动控制文件到新的目录中Oracle技术网—如何移数据库文件Oracle技术网—如何增加表空间的大小Oracle技术网—怎样查看init.ora文件Oracle技术网—怎样查看SGA值Oracle技术网—怎样查看哪些用户拥有SYSDBA、SYSOPER权限?Oracle技术网—怎样快速查出Oracle 数据库中的锁等待Oracle技术网—怎样识别IO竞争和负载平衡Exp vs ImpOracle技术网—EXP、IMP 命令详解Oracle技术网—Exp/Imp大量数据Oracle技术网—Export/Import 使用技巧与常见错误Oracle技术网—Oracle数据库的备份与恢复Oracle技术网—如何把数据exp到Sql loader里Oracle技术网—如何单独备份一个或多个表Oracle技术网—如何单独备份一个或多个用户Oracle技术网—如何导入指定表Oracle技术网—如何建立一个与现存数据库相同,但不包含数据的空库Oracle技术网—如何在oracle7和oracle8之间exp/imp数据Oracle技术网—提高ORACLE数据库系统import性能Oracle技术网—为何我的导出文件只有500KOracle技术网—自动备份Oracle数据库Oracle技术网—作Export或Import时,如何记录LOG信息?SQL技巧Oracle技术网—LONG数据类型使用上的一些说明Oracle技术网—Oracle8 PL/SQL编程风格与系统性能的提高Oracle技术网—Oracle8中用户名、表名、列名、索引名...可以用中文命名吗Oracle技术网—Oracle中如何实现某一字段自动增加1Oracle技术网—SQL(Structured Query Language)语句分哪几类Oracle技术网—SQL*PLUS常用命令列表Oracle技术网—SQL*Plus系统环境变量有哪些?如何修改?Oracle技术网—SQL*Plus中缓冲区命令列表Oracle技术网—SQL*Plus中能运行哪几种命令Oracle技术网—SQLPlus中的复制和粘贴技巧Oracle技术网—查看本用户下的各种对象的SQL脚本Oracle技术网—查找a表中有,而在b表中没有的记录Oracle技术网—利用PL/SQL打印ASCII表Oracle技术网—如何查找、删除表中重复的记录Oracle技术网—如何对CLOB行字段执行全文检索Oracle技术网—如何对CLOB字段进行全文检索?Oracle技术网—如何改变表中列的名字Oracle技术网—如何改变一个字段初始定义的Check范围Oracle技术网—如何给表、列加注释Oracle技术网—如何将 primary key 建在其它的表空间上Oracle技术网—如何删除表中的列Oracle技术网—如何使‘CREATE TABLE AS SELECT’能支持ORDER BY ?Oracle技术网—如何通过 SQL*PLUS 将符号 & 、'号(单引号) 插入Oracle数据库的表中Oracle技术网—如何用SQL生成SQL批处理文件Oracle技术网—如何在PL_SQL中读写文件Oracle技术网—如何自动生成一个含有20000101至20500101共50年日期的表Oracle技术网—如何自动生成一个含有2000年01月至2050年01月共50年月份的表Oracle技术网—删除a表中和b表相同的数据Oracle技术网—在Oracle快速进行数据行存在性检查Oracle技术网—怎样查看表的结构Oracle技术网—怎样改变SQL*Plus启动时默认路径Oracle技术网—怎样计算表中的记录数Oracle技术网—怎样在SQL*Plus中使用 '&' 来实现自定义参数变量?Oracle技术网—怎样在查询记录时给记录加锁Oracle错误Oracle7 7.3.2.2Oracle技术网—Oracle 816中如何启动Enterprise ManagerOracle技术网—Oracle Enterprise Manager(OEM)工具中如何以SYSOPER、SYSDBA方式登录Oracle技术网—ORACLE数据库应用开发常见问题及排除Oracle技术网—监听器错误Oracle技术网—联机热备份失败后,如何打开数据库Oracle技术网—没有备份、只有归档日志,如何恢复数据文件Oracle技术网—某个数据文件损坏,如何打开数据库Oracle技术网—如何使用归档日志进行完全恢复Oracle技术网—如何正确建立TYPE、partition(分区)Oracle技术网—一个控制文件被损坏,如何启动Oracle技术网—在SQL*Plus中insert进的都是中文的,为什么一存入服务器后,再select出的就是???了Oracle技术网—重装Oracle服务器后,以前的数据可以恢复吗Oracle初学者入门Oracle技术网—Oracle 8.1.6 for Win2000 系统文件解释Oracle技术网—Oracle 基本知识Oracle技术网—Oracle8 数据类型Oracle技术网—what is sql?Oracle技术网—安装、配置后,SQL*Plus操作初步Oracle技术网—安装Oracle后,经常使用的修改表空间的SQL代码Oracle安装、删除Oracle技术网—Oradim工具的用法Oracle技术网—WINDOWS NT上,如何删除ORACLE SERVICEOracle技术网—如何连接两台Oracle服务器Oracle技术网—如何在Windows 2000下将Oracle完全卸载Oracle技术网—如何在WINDOWS NT上删除所有的Oracle安装?Oracle技术网—手工安装数据库时需要安装那些系统包Oracle技术网—手工创建数据库的全部脚本及说明Oracle安全性问题Oracle技术网—Linux ORACLE 8.1.5漏洞Oracle技术网—Oracle 8.1.6的oidldapd中的漏洞Oracle技术网—Oracle8的不安全因素及几点说明Oracle技术网—Oracle数据库的安全策略Oracle技术网—Oracle数据库密码文件的使用和维护Oracle技术网—提高Oracle数据库应用系统安全的举例与分析数据库安全性策略Oracle系统设置、优化、连接《Oracle8 优化技术》摘录 (第一章 安装)《Oracle8 优化技术》摘录 (第二章 内存/CPU)《Oracle8 优化技术》摘录 (第三章 输入/输出)Oracle技术网—ASP 中通过OLEDB访问 Oracle 的代码Oracle技术网—Delphi5 企业版使用BDE访问 Oracle方法Oracle技术网—oracle database access objectOracle技术网—Oracle基于Client/Server的性能调整Oracle技术网—PB7 连接 Oracle 的配置方法Oracle技术网—PB内置Oracle数据库接口的使用方法Oracle技术网—PHP+Oracle(OCI) 初步Oracle技术网—PHP4连接Oracle 8i的方法(转译)Oracle技术网—多个数据库时,如何设置默认数据库Oracle技术网—如何备份Oracle设置Oracle技术网—如何让你的SQL运行得更快Oracle技术网—如何修改 SQL*Plus 的启动参数Oracle技术网—如何在Windosws 2000中安装JSP并访问OracleOracle技术网—如何在Windosws 2000中安装perl并访问OracleOracle技术网—如何在Windosws 2000中安装PHP4并访问OracleOracle技术网—如何在Windosws NT中使用批处理命令自动启动或关闭Oracle ServicesOracle技术网—如何在客户端省略输入数据库串,而只输入用户名、密码即可Oracle技术网—使用Database Configuration Assistant安装第二个数据库Oracle技术网—修改Oracle7数据库maxdatafiles参数的方法索引、序列、快照、数据库链路、触发器Oracle技术网—触发器的几种应用Oracle技术网—建立触发器时最容易忽略的两个地方Oracle技术网—快照和触发子结合使用的例子Oracle技术网—能否通过视图更新表中的数据Oracle技术网—如何创建一个简单的JAVA存储过程?Oracle技术网—如何创建隐藏IP地址的最后一项的函数?Oracle技术网—如何加密Oracle中的存储过程Oracle技术网—为什么有时ORACLE数据库不用索引来查找数据Oracle技术网—我的数据库链路为什么不工作Oracle技术网—一个建立快照的简单例子Oracle技术网—怎样创建一个简单的自定义过程并引用Oracle技术网—怎样手工刷新快照oracle与其他数据库的比较MySQL 测试Oracle技术网—Oracle 和 mysql 的一些简单命令对比参照Oracle技术网—Oracle8i和Microsoft SQL Server7.0比较Oracle技术网—比较SQL Server与Oracle、DB2Oracle技术网—各种数据类型的比较Oracle技术网—戏说SQL—几种SQL 服务器的比较关键任务      在Internet上运作公司是一项艰苦的任务其它知识OEM常见问题及其解决办法Oracle 8 资料库函式库Oracle 资料库函式库Oracle技术网—Decode()函数使用技巧(NT+IIS+ASP+ORACLE)Oracle技术网—Dual伪列Oracle技术网—NULL 使用详解Oracle技术网—OLAP及其多维数据分析Oracle技术网—Oracle for NT系统实用工具介绍Oracle技术网—ORACLE 用户的规范化管理Oracle技术网—user、uid伪列Oracle技术网—大型数据库设计原则Oracle技术网—留言簿(带Oracle数据库分页的显示功能)Oracle技术网—漫谈oracle中的空值Oracle技术网—如何正确利用Rownum来限制查询所返回的行数Oracle技术网—什么是ROWID,为什么需要它Oracle技术网—数据库技术考试大纲(中级)Oracle技术网—数据库行业的现状和展望Oracle技术网—在客户端处理Oracle的数据行加锁问题如何对CLOB行字段执行全文检索Developer 2000Oracle技术网—Developer/2000中各键盘触发子所对应的“按键”Oracle技术网—FORM调用REPORT时,如何去掉report serverOracle技术网—FORM中,Exception(例外)都有哪些,如何书写Oracle技术网—FORM中,FORM中,如何引入图像Oracle技术网—FORM中,WINDOW标题的设置Oracle技术网—FORM中,常用快捷键有哪些Oracle技术网—FORM中,触发子exit_form的两种功能是什么Oracle技术网—FORM中,当光标走到块的最后一项时,如何让按“enter回车”键时,光标自动走到下一条记录的第一项?Oracle技术网—FORM中,当用鼠标点击标签画布的某一“标签页”时,如何判断点击的是哪一页Oracle技术网—FORM中,如何屏蔽默认的功能键Oracle技术网—FORM中,如何实现屏幕同步刷新?Oracle技术网—FORM中,如何使用警告Oracle技术网—FORM中,如何通过 ODBC 访问 Acress 数据?Oracle技术网—FORM中Oracle技术网—FORM中,设置应用特性(光标类型)Oracle技术网—FORM中,怎样创建动态下拉列表ListOracle技术网—FORM中如何存取声音Oracle技术网—FORM中如何存取图象?如何把图象从一个表中导到另一个表中?Oracle技术网—MIS中的图像应用技术Oracle技术网—MIS中的图像应用技术Oracle技术网—从FORM中调用REPORT时,如何使打印结果直接输出到打印机上Oracle技术网—如何从FORM中调用REPORT程序Oracle技术网—如何改变FORM(FMX模块)运行时的title?Oracle技术网—如何在FORM运行中,使定制菜单中的“窗口(W)”菜单项不显示Oracle技术网—如何在启动FORM程序时直接登录到Oracle数据库上?Oracle技术网—运行FORM时,如何使按钮变灰(即无效)Oracle技术网—运行FORM时,如何使窗口(runtime窗口、画布窗口)自动变成最大化、最小化?Oracle技术网—在Developer/2000中如何读写文本型操作系统文件Oracle技术网—在Oracle中实现报表的定长输出linux vs UnixHow To Install Oracle 8.0.5 onto RedHat Linux 6HOWTO: OAS for Linux on FreeBSDHOWTO: Oracle for Linux on FreeBSDOracle 7.3.4 Enterprise Edition for SCO UNIX 安装步骤Oracle技术网—Oracle .com 套件在TurboLinux上的安装Oracle技术网—ORACLE 7.3 Enterprise在SCO OPEN SERVER 5.02 及 5.04 的安装过程Oracle技术网—ORACLE 7.3.4.2 for SCO Unix 安装说明Oracle技术网—Oracle 8 for solaris 2.6 安装步骤Oracle技术网—Oracle 8(8.0.5)标准版安装指南Oracle技术网—Oracle 8i(8.1.5)企业版安装指南Oracle技术网—ORACLE FOR SUN SOLARIS 安装手册Oracle技术网—ORACLE FOR SUN SOLARIS 维护手册Oracle技术网—ORACLE V.7.3.4.3 FOR AIX 安装说明Oracle技术网—ORACLE8I FOR SUN SOLARIS2.7 安装说明Oracle技术网—RedHat 6.1 Step-by-step Install notes for Oracle 8iOracle技术网—RedHat Linux 6.0 上 Oracle 8(8.0.5)标准版 安装实例Oracle技术网—RedHat Linux 6.0 上 Oracle 8i R2 (8.1.6) 企业版安装实例Oracle技术网—如何集成Linux/Apache/PHP4/FastCGI/Oracle/MySQL环境Oracle技术网—如何在你的Linux机器上安装运行OracleOracle技术网—为Linux配备Oracle 8Oracle技术网—在RedHat 6.0上安装Oracle 8i(全攻略)
文字

随着互联网的发展和自由软件软件运动的日益活跃,越来越多的人开始将各种数据库应用于自己的网络应用中。于是,各种各样的数据库系统出现在互联网的舞台上,这里最常用的两种数据库是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 平台上  EmpressPostgreSQLMySQL   MySQL 的对比表

NT 4.0 平台上的 Empress PostgreSQL MySQL SolidSybase 的对比数据表

MySQL 的相对比较绝对比较

以下是 Linux 平台上 MySQLPostgreSQL 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.comwww.linuxcare.com 里面还有一些投票性质的比较,这些主要是用户的个人喜好和观点,没有明确的测试标准和手段,但是还是对大家有一定参考价值,我们在这里列出链接,请大家自己访问这些链接看看投票结果。

班门弄斧

从上面的这些评测我们可以看出这两种数据库的共同特点就是特点鲜明,各有重点与弱点,那么是否我们就可以得出孰优孰劣的结论而确定支持什么不支持什么呢?我们认为不是这样,因为两种数据库的开发都非常活跃,许多现在的缺点很快就可能得到弥补,比如:在 MySQL 的 TODO 列表里面,事务的支持很明显的放在了最重要的位置;而 PostgreSQL 的最新版本 7.0 的速度和稳定性都有极大的提高,而且在 7.1 中将对现有大对象接口进行大的增强;这些都说明,两者都在进步,都在不断地发展,真正做决定的还是作为应用开发人员的我们自己,通过合理的分析,扬长避短,正确地选用合适自己的数据库,最大限度的满足应用的需要。不要忘记,作为计算机从业人员的任务就是用我们的学时和经验为非专业人员提供服务。最后,我们将继续这份信息比较工作,不断更新我们的信息,希望能为大家提供更详细的材料。

 

上一篇:下一篇: