mysql 和oracle区别,DM,KingBase
mysql 和oracle区别,DM,Kingbase
目录
oracle 分组排序函数详解 (row_number、rank、dense_rank)
宏观上
1、Oracle是大型的数据库而Mysql是中小型数据库;Mysql是开源的,Oracle是收费的,且价格昂贵。
2、Oracle支持大并发,大访问量,是OLTP((On-Line Transaction Processing联机事务处理过程)、表空间,角色管理。
3、安装占用的内存也是有差别,Mysql安装完成之后占用的内存远远小于Oracle所占用的内存,并且Oracle越用所占内存也会变多。
微观上
事务隔离级别
MySQL是repeatable read的隔离级别,而Oracle是read commited的隔离级别,同时二者都支持serializable串行化事务隔离级别,可以实现最高级别的。
逻辑备份
Mysql逻辑备份是要锁定数据,才能保证备份的数据是一致的,影响业务正常的DML(数据操纵语言Data Manipulation Language)使用;Oracle逻辑备份时不锁定数据,且备份的数据是一致的。
sql语句
mysql limit功能(分页),insert可以一次插入多行数据
Oracle分页rownumber是通过伪列和子查询完成的,插入数据只能一行行的插入数据。
oracle 插入多条
INSERT ALL INTO 表名 VALUES('值1','值2'...) INTO 表名 VALUES('值1','值2'...)
SELECT 1 FROM DUAL;
需要用到Oracle9i后出的INSERT ALL INTO 还有 DUAl表~.看上面的语法
主键
MYSQL有自动增长的数据类型
ORACLE没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。
Oracle 中可用with来构建一个临时表,但MySQL不支持with,对应临时表,MySQL可通过小括号的方式来处理,但构建的临时表必须设置临时表名。
-- Oracle with使用
WITH TMPTAB AS (SELECT A.DEPID FROM FW_DEPARTMENT A);
SELECT DEPID FROM TMPTAB;
-- MySQL 构建临时表使用(此处必须给括号中的临时表设置表名)
select b.depid from (select depid from fw_department) b;
查询
|
oracle字符串单引号包裹 |
mysql字符串双引号或者单引号包裹 |
oracle 分组排序函数详解 (row_number、rank、dense_rank)
mysql没有
1. 完整格式
(1) row_number() over(partition by 列1 order by 列2)
2. 三种排序函数
(1) row_number(): '连续' 排序,如:1 2 3 4
(2) rank() : '跳跃' 排序,如:1 2 2 4
(3) dense_rank(): '密集' 排序,如:1 2 2 3
3. 分组子句
(1) partition by 列1 order by 列2
(2) order by ... 不可省略(报错提醒)
总结
|
Oralce |
Mysql |
|
|
默认端口|用户 |
3306|root 用户下创建多个数据库,每个数据库下还有好多表,一般使用默认用户,不会创建多个用户。 |
1521|system 创建一个数据库,数据库下有很多用户,不同用户下sys、socott等有很多表,一般情况下只能创建一个数据库 |
|
数据库 |
大型收费的 |
中小型免费的 |
|
支持大量并发,OLTP 联机事务处理过程、表空间、角色管理。 |
||
|
事务隔离级别 |
读已提交 read commited |
repeatable read |
|
逻辑备份 |
不锁表数据 |
要锁表,才能保证备份数据一致 |
|
分页 |
oracle row_number 通过伪列和子查询 |
limit |
|
主键 |
序列递增 |
自动增长数据类型 |
|
查询 |
字符串单引号包裹 |
字符串双引号/单引号包裹 |
|
并发数 |
读多少 每秒 1000-1500 写多少 500-800 服务器的最大并发连接数为16384 |
|
|
分组排序/高级函数 |
分组排序 row_number over(partition by 列 order by 列) row_number 连续排序1、2、3、4 Rank 跳跃排序 1、2、2、4 Dense_rank 密集排序 1、2、2、3 |
国产化数据库对比
DM达梦数据库
设计类似于Oracle,即采用了表空间形式,MySQL为 非表空间 形式。
默认字符串比较大小写敏感,可以修改。
Kingbase人大金仓
类似mysql
类型转换:
kingbase不支持类型的隐式转换不通类型中必须手动转换
mysql 支持类型的隐式转换
差异: 时间类型转换的某些函数差异
|
Orace |
select sysdate from dual; 虚拟表 |
|
mysql |
select now() |
DBeaver 可以连接各种数据库
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)