zoukankan      html  css  js  c++  java
  • Oracle和MySQL差异总结

    常用功能差异

    1. 锁差异
      • Oracle锁加在数据块上
      • InnoDB 是在索引上加锁,所以MySQL锁的粒度没有Oracle 精细。
    2. 导入导出
      • Oracle采用EXP /IMP ,EXPDP/IMPDP导入导出。
      • MySQL采用mysqldump导出,导入可以采用管道或source。
    3. commit
      • Oracle默认手动提交
      • MySQL默认自动提交
    4. SQL 缓存:MySQL只能缓存结果集,不能缓存SQL解析结果
    5. 数据库对象
      • Oracle将数据库对象编译存储,直接执行二进制码
      • MySQL只存储代码,临时解析执行,所以MySQL触发器、存储过程、函数等对象创建时仅检查语法,不检查逻辑
    6. 事务
      • MySQL不是所有引擎都支持,建议优先使用InnoDB,相比其他引擎有更好的并发性
    SQL写法差异

    1. 空字符串处理
      • 而Oracle 只有NULL的概念
      • MySQL有空字符串 '' 和NULL,空串不等于NULL
    2. 结果集行数限制
      • Oracle使用rownum
      • MySQL使用limit;
    3. 执行SQL
      • Oracle需要select func() from dual;
      • MySQL可以直接select func();
    4. 修改字段类型或长度
      • Oracle:alter table tablename modify column ...;
      • MySQL:alter table tablename modify (...);
    5. 复制数据
      • Oracle的as是必选,create table table1 as select * from table2;
      • MySQL的as是可选,create table table1 select * from table2;
    6. 字符串处理
      • Oracle里用单引号包起字符串
      • MySQL用双引号包起字符串
  • 相关阅读:
    看完这篇文章,对采用.Net做网站的信心大增
    sqlserver 使用游标存储过程分页
    ViewState慎用
    [zz] C++智能指针循环引用解决
    cello 有关trigger
    cello 把事件全部统一起来,Event,StateEvent,ActionEvent
    libvirt 错误FAQ
    cello collector中为什么要设置frame_work_in_machine
    比较好的一些句型
    一些疑问
  • 原文地址:https://www.cnblogs.com/himismad/p/8124823.html
Copyright © 2011-2022 走看看