Mysql与Oracle区别
Mysql与Oracle区别
1、Mysql是开源的而Oracle价格非常高,Oracle是大型数据库而Mysql是中小型数据库(Oracle市场占有率达40%,Mysql只有20%左右)
2、安装所用的空间差别也是很大的,Mysql安装完后才152M而Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和其他机器性能。
3、操作上的一些区别
1)Mysql一般使用自动增长类型auto increment,Oracle主键一般使用的序列。
2)MYSQL分页limit,Oracle分页ROWNUM
3)mysql中的text对应oracle中的clob
4)字符串链接Oracle是||,mysql是CONCAT(str1,str2,…)
5)在Oracle里:null 与 ''是等价的
在MySQL里,null与 ''是完全不同的:NULL是指没有值,而''则表示值是存在的,只不过是个空值
4、Oracle支持大并发,大访问量,是OLTP(On-Line Transaction Processing联机事务处理系统、OLAP即联机分析处理)最好的工具。
5、并发性:
并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定
mysql以表级锁为主,对资源锁定的粒度很大。虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁。
oracle使用行级锁,对资源锁定的粒度要小很多,只是锁定sql需要的资源,并且加锁是在数据库中的数据行上,不依赖与索引。所以oracle对并发性的支持要好很多。
6、一致性:
oracle支持serializable的隔离级别,可以实现最高级别的读一致性。
mysql没有类似oracle的构造多版本数据块的机制,只支持read commited的隔离级别。
7、事务:
oracle很早就完全支持事务。mysql在innodb存储引擎的行级锁的情况下才支持事务。
8、事务持久性:
oracle 保证提交的数据均可恢复,因为oracle把提交的sql操作线写入了在线联机日志文件中,保持到了磁盘上,如果出现数据库或主机异常重启,重启后oracle可以考联机在线日志恢复客户提交的数据。
mysql:默认提交sql语句,但如果更新过程中出现db或主机重启的问题,也许会丢失数据。
9、提交方式:
oracle默认不自动提交,需要用户手动提交。mysql默认是自动提交。
10、分区表和分区索引:
oracle的分区表和分区索引功能很成熟,可以提高用户访问db的体验。mysql的分区表还不太成熟稳定。
11、管理工具:oracle有多种成熟的命令行、图形界面、web管理工具,还有很多第三方的管理工具,管理极其方便高效。mysql管理工具较少,在linux下的管理工具的安装有时要安装额外的包(phpmyadmin, etc),有一定复杂性。
- [转]MySQL与Oracle的语法区别详细对比
- kettle中mysql和oracle插入速度的区别
- Oracle和MySQL在SQL语句方面的区别
- 关系型数据库MySQL和SQL Server、Oracle的区别
- Mysql 和Oracle rows 区别
- oracle与mysql创建表时的区别
- ORACLE 与 mysql 的区别
- mysql和oracle的区别介绍
- MYSQL和ORACLE的一些区别
- Mysql与Oracle区别
- mybatis的分页插件pagehelper-fix使用、数据库分页查询模板sql、总结mysql与oracle语句的区别
- mysql与oracle的区别
- exists与in的区别以及exists在oracle与mysql中的语句写法
- MYSQL和ORACLE的一些区别
- 关系型数据库和非关系型数据库区别、oracle与mysql的区别
- oracle与mysql中存储过程的区别
- MYSQL和 ORACLE 的区别
- Mysql与Oracle区别
- Mysql与Oracle区别
- MySQL与Oracle的语法区别详细对比