Oracle和MySQL差异总结
程序员文章站
2022-06-23 19:19:45
常用功能差异 1. 锁差异 : • Oracle锁加在数据块上 • InnoDB 是在索引上加锁,所以MySQL锁的粒度没有Oracle 精细。 2. 导入导出 : • Oracle采用EXP /IMP ,EXPDP/IMPDP导入导出。 • MySQL采用mysqldump导出,导入可以采用管道或 ......
常用功能差异
锁差异:
• Oracle锁加在数据块上
• InnoDB 是在索引上加锁,所以MySQL锁的粒度没有Oracle 精细。 导入导出:
• Oracle采用EXP /IMP ,EXPDP/IMPDP导入导出。
• MySQL采用mysqldump导出,导入可以采用管道或source。 commit:
• Oracle默认手动提交
• MySQL默认自动提交 SQL 缓存:MySQL只能缓存结果集,不能缓存SQL解析结果 数据库对象:
• Oracle将数据库对象编译存储,直接执行二进制码
• MySQL只存储代码,临时解析执行,所以MySQL触发器、存储过程、函数等对象创建时仅检查语法,不检查逻辑 事务:
• MySQL不是所有引擎都支持,建议优先使用InnoDB,相比其他引擎有更好的并发性 SQL写法差异 空字符串处理:
• 而Oracle 只有NULL的概念
• MySQL有空字符串 '' 和NULL,空串不等于NULL 结果集行数限制:
• Oracle使用rownum
• MySQL使用limit; 执行SQL:
• Oracle需要select func() from dual;
• MySQL可以直接select func(); 修改字段类型或长度:
• Oracle:alter table tablename modify column ...;
• MySQL:alter table tablename modify (...); 复制数据:
• Oracle的as是必选,create table table1 as select * from table2;
• MySQL的as是可选,create table table1 select * from table2; 字符串处理:
• Oracle里用单引号包起字符串
• MySQL用双引号包起字符串
• Oracle锁加在数据块上
• InnoDB 是在索引上加锁,所以MySQL锁的粒度没有Oracle 精细。 导入导出:
• Oracle采用EXP /IMP ,EXPDP/IMPDP导入导出。
• MySQL采用mysqldump导出,导入可以采用管道或source。 commit:
• Oracle默认手动提交
• MySQL默认自动提交 SQL 缓存:MySQL只能缓存结果集,不能缓存SQL解析结果 数据库对象:
• Oracle将数据库对象编译存储,直接执行二进制码
• MySQL只存储代码,临时解析执行,所以MySQL触发器、存储过程、函数等对象创建时仅检查语法,不检查逻辑 事务:
• MySQL不是所有引擎都支持,建议优先使用InnoDB,相比其他引擎有更好的并发性 SQL写法差异 空字符串处理:
• 而Oracle 只有NULL的概念
• MySQL有空字符串 '' 和NULL,空串不等于NULL 结果集行数限制:
• Oracle使用rownum
• MySQL使用limit; 执行SQL:
• Oracle需要select func() from dual;
• MySQL可以直接select func(); 修改字段类型或长度:
• Oracle:alter table tablename modify column ...;
• MySQL:alter table tablename modify (...); 复制数据:
• Oracle的as是必选,create table table1 as select * from table2;
• MySQL的as是可选,create table table1 select * from table2; 字符串处理:
• Oracle里用单引号包起字符串
• MySQL用双引号包起字符串
推荐阅读
-
有关 PHP 和 MySQL 时区的一点总结
-
Oracle 和 Mysql 数据库表字段对比讲解
-
清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
-
mysql触发器语法和实例总结
-
MySQL基础篇(03):系统和自定义函数总结,触发器使用详解
-
Oracle、mysql和sqlserver数据库中对于事务的不同理解
-
清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
-
清晰讲解SQL语句中的内连接,通用于Mysql和Oracle,全是干货哦
-
mysql中null(IFNULL,COALESCE和NULLIF)相关知识点总结
-
MySQL 总结篇 [在Oracle基础上学习的MySQL]