MYSQL与ORACLE的简单对比,参考文档来源百度文库。
由于之前对oracle相对了解,因此重点学习了与oracle的对比。
MYSQL与ORACLE的对比:
1. 应用场景:
Oracle应用在银行,电信,财务,ERP等。Mysql应用在中小型系统,互联网高并发的web应用。
2. 数据库对象。
<1>数据库名、表名大小写mysql敏感,oracle不敏感
<2>同义词。
Mysql没有同义词。
<3> table
[1]Oracle varchar(65535),char(255);mysql varchar(4000)
[2] 修改表名:oracle :rename xx to yy; mysql:alter table xx to yy
<4> sequence
[1] Mysql sequence自增长。
Create table student (id int auto_increment, name char(20)),
Insert into student(name) values(‘jim’)
<5> view
[1] Mysql不支持物化视图,可通过存储过程定时刷新实现物化视图的功能。
[2] MYSQL5之后支持视图,但是有一些限制。
<6>trigger
Mysql,oracle均支持。
<7> 索引
Oracle支持B树索引,反向索引,函数索引,位图索引。MYSQL支持B树索引,哈希表,全文,GIS(基于位置)的索引,以及簇索引。
<8> procedure
Oracle 有Procedure、function、package;MySQL无package,Procedure和function统一为routine
3. 数据备份
<1>Oracle Rman备份,mysql不支持,可以通过mysqldump,mysqlhotcopy备份
<2>备份工具 MySQL有个XtraBackup,可以实现类似Oracle 的recovery management的操作,对innodb引擎可以做全备、增量备份,对MySIAM只能做全备
4. 表空间
Mysql没有表空间
5. 用户和角色
mysql创建用户:create database mytest;oracle:create user;
mysql无表空间的概念,因此,对database的大小无法控制,没有限制。
6. SQL
<1> oracle的优势在于cost based optimizer(基于代价的优化器)。
<2>mysql 查前5条limit 5,5-10条:limit 5,10
7. 安全性
<1>Mysql从用户名、密码、位置三方面保证安全性。Oracle从用户名、密码、配置文件、本地认证、高级安全、位置等多方面保证安全性
<2>mysql 不支持数据库审计。
。。。。。。
不同之处非常多,简单就列这些吧。
大体通过以上比较,熟悉oracle的同学,对mysql会有个基本认识了
由于之前对oracle相对了解,因此重点学习了与oracle的对比。
MYSQL与ORACLE的对比:
1. 应用场景:
Oracle应用在银行,电信,财务,ERP等。Mysql应用在中小型系统,互联网高并发的web应用。
2. 数据库对象。
<1>数据库名、表名大小写mysql敏感,oracle不敏感
<2>同义词。
Mysql没有同义词。
<3> table
[1]Oracle varchar(65535),char(255);mysql varchar(4000)
[2] 修改表名:oracle :rename xx to yy; mysql:alter table xx to yy
<4> sequence
[1] Mysql sequence自增长。
Create table student (id int auto_increment, name char(20)),
Insert into student(name) values(‘jim’)
<5> view
[1] Mysql不支持物化视图,可通过存储过程定时刷新实现物化视图的功能。
[2] MYSQL5之后支持视图,但是有一些限制。
<6>trigger
Mysql,oracle均支持。
<7> 索引
Oracle支持B树索引,反向索引,函数索引,位图索引。MYSQL支持B树索引,哈希表,全文,GIS(基于位置)的索引,以及簇索引。
<8> procedure
Oracle 有Procedure、function、package;MySQL无package,Procedure和function统一为routine
3. 数据备份
<1>Oracle Rman备份,mysql不支持,可以通过mysqldump,mysqlhotcopy备份
<2>备份工具 MySQL有个XtraBackup,可以实现类似Oracle 的recovery management的操作,对innodb引擎可以做全备、增量备份,对MySIAM只能做全备
4. 表空间
Mysql没有表空间
5. 用户和角色
mysql创建用户:create database mytest;oracle:create user;
mysql无表空间的概念,因此,对database的大小无法控制,没有限制。
6. SQL
<1> oracle的优势在于cost based optimizer(基于代价的优化器)。
<2>mysql 查前5条limit 5,5-10条:limit 5,10
7. 安全性
<1>Mysql从用户名、密码、位置三方面保证安全性。Oracle从用户名、密码、配置文件、本地认证、高级安全、位置等多方面保证安全性
<2>mysql 不支持数据库审计。
。。。。。。
不同之处非常多,简单就列这些吧。
大体通过以上比较,熟悉oracle的同学,对mysql会有个基本认识了