mysql与oracle的区别

一、并发性(行锁的区别)
mysql的InnoDB存储引擎虽然支持行锁,但是当表无索引或者sql语句索引失效时, 行锁会变成表锁。
oracle行锁,不依赖于表的索引

二、事务
mysql的MyISAM存储引擎不支持事务,在InnoDB存储引擎下才支持事务
oracle完全支持事务

三、事务隔离级别
mysql默认的隔离级别是:可重复读 repeatable read
oracle默认的隔离级别是:不可重复读 read commited

四、备份
mysql要加锁
oracle不用加锁

五、异常恢复
mysql在主机或者数据库异常时,可能会造成数据丢失
oracle若出现执行主机或数据库异常时,会执行在线日志恢复数据。

六、在sql处理上的区别
1、单引号的处理
oracle中的字符串,不能用双引号包裹,只能用单引号
mysql中的字符串,可以用双引号

2、自增长字段
mysql支持自增长的数据类型
oracle不支持,它的自增长功能是通过建立一个自增长的序号来完成
--创建序列
create sequence SEQ_T_RECV
minvalue 1
maxvalue 9999999
start with 1
increment by 1
cache 50;

--查看序列当前值
select seq_t_recv.nextval from dual;

3、事务的处理
mysql的事务默认是自动提交的
oracle事务默认要手动提交

4、sql灵活性
mysql      支持一次insert多条记录
oracle 一次只能insert一条数据

5、翻页处理方式不同
mysql用limit关键字可以方便处理翻页功能
select * from table limit (pageNo-1)*pageSize, pageSize

其中 pageNo 是页码, pageSize 是每页显示的条数

oracle翻页比较复杂
         (
            SELECT
                ROWNUM AS NUMROW,
                c.*
            FROM
                (
                    SELECT
                        [ FIELD_NAME ,...]
                    FROM
                        TABLE_NAME
                    WHERE
                        条件1
                    ORDER BY
                        条件2
                ) c
        )
        WHERE
            NUMROW > 80
        AND NUMROW < 100



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值