开放源代码数据库系统之比较(3)

2021-02-21 15:58

开放源代码数据库系统之比较

SQL99的一部分功能。MySQL虽然使用的比较普遍,但是许多数据库应该有的功能并不支持。起初的MySQL是不支持事务操作的。众所周知,不支持事务操作的数据库不能称为完整的数据库系统。为了弥补这一不足,他们引入Berkeley DB[5]和InnoDB[6]到他们的数据库系统系统中。所以目前的MySQL的六种表类型中有两种支持事务操作的表类型BDB, InnoDB,还有四种不支持事务的表类型 (HEAP, ISAM, MERGE, and MyISAM)。InnoDB支持事务原子操作,行级别的锁,破坏后的恢复,多版本控制,外码支持等机制,它比仅支持事务操作的Berkeley DB功能要强。尽管MySQL引入了InnoDB,目前它对存储过程、嵌套查询、视图、触发器等数据库基本功能还是不支持的。 4.2. 支持的数据类型

这四种数据库都支持常用的数据类型、如整数、单双精浮点数、定点数、日期时间、定长字符串、变长字符串、大对象等等。除此之外MySQL还支持集合Set和枚举Enum类型;PostgreSQL支持许多几何类型和网络地址类型;PostgreSQL和SAPDB还支持序列Sequence和布尔类型。 4.3. 中文支持

我们还研究了这四种数据库对中文的支持情况:

MySQL需要修改character_set变量为gb2312。两种方法修改,一种是在Linux编译配置时加入参数 --with-charset= gb2312;或者在MySQL启动时设定 –default-character-set = gb2312。这样数据库名、表名、字段名、数据内容就都可以为中文。

PostgreSQL不用设置用户名、表名、字段名、数据库名、数据内容都可以是中文。

SAPDB用户名,表名,字段名,都可以是中文,但数据库名不可以是中文。这一切都需要在创建数据库实例是设置参数_UNICODE = YES

InterBase用户名、数据库名、字段名、数据内容都可以使用中文,但是表名不可以。我们建议使用英文的数据库名和字段名。

4.4. 编程接口

表2列出了四种数据库支持的编程接口。

ODBCJDBC PHP Perl C C++ TCL 嵌入SQL

支持 支持 支持 支持 支持 支持 支持 /

支持 支持 支持 支持

支持 第三方 支持 支持 支持 第三方 支持 第三方

支持支持 支持支持 支持 支持

支持 第三方 支持 支持

支持第三方

Python 支持

表2

5. 大数据量测试结果 我们使用AS3AP标准对这四种数据库进行了测试比较,测试分为单用户测试和多用户测试,具体的测试结果参看[10]。单用户连接下,我们发现:

1. 没有那个数据库绝对快,每个数据库都

有自己的优势。SAPDB插入的速度要快于其他的数据库,但是它建立表和删除表的速度要比其他的慢;PostgreSQL的连接速度比其他的慢;MySQL在索引的建立和删除上速度比其他的要慢;InterBase在各方面都比较快。

2. MySQL的MyISAM类型的表要比InnoDB

快,InnoDB又比Berkeley DB快。 3. MySQL的MyISAM类型的表由于没有事

务处理要比其它数据库快一些。

4. PostgreSQL有两种运行模式fsync和


开放源代码数据库系统之比较(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:人教新课标高中英语必修一各单元高频短语、固定搭配和句型串成篇

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: