一文解达梦

经过为期三天的学习,基本对达梦数据库有了一个比较深刻的认识,现在做一个归纳总结,方便备忘,同时也希望想学习达梦数据库的新同学,可以从中获益。

首先说下目前的国内外形势,在美西方国家的各种技术限制之下,国内数据库开始异军突起,逐步占据市场份额,特别是政府部门已经明示要使用国产数据库。而达梦数据库作为国产数据库的一面旗帜,发展得越来越好,从1993年DM1的出现到现在的2018年DM8已经有25年之久,能坚持那么久实属不易,让我们要达梦鼓掌,为国产数据库完梦!

接下来就是如何由浅入深地开始达梦数据库的学习,请看下面的思维导图:

 

通过以上两张图可以让我们对达梦数据库有了一个基本的认识,具体知识大家请参考达梦官网。如果要想成为一个资深的DBA的话以上知识还不够,我们要做一个会思考的工程师,通过思考问题去进一步认识达梦的原理!

问题一:达梦数据库是Oracle数据库的复制品吗?

答:显示不是,达梦数据库有自己的特色,不仅兼容了Oracle的很多用法,还加入了一些Mysql数据库的优势之处。差异点有几个:1)Oracle是多进程结构,而DM是单进程多线程。2)DM新增了suspend状态,且mount状态和open状态之间可以自由切换。3)DM用户模式是一对多。4)Oracle默认创建的是堆表,而DM是索引组织表。5)DM可以直接修改联机日志文件大小扩容。除了以上几点外,其实还有一些其它的不同点,欢迎大家思考留言!

问题二:达梦数据库是如何处理一条SQL请示的?

答:要回答这个问题就需要深入理解达梦数据库的体系结构了。这里大概讲一下:首先是请求到监听线程之后,由监听线程创建一个会话线程加入工作线程队列。处理的时候先进行SQL的语法语义权限解析。要想提高系统性能的话,大家需要进一步思考下如何减少硬解析。如果是查询语句,需要考虑如何减少物理读,提高逻辑读。至于详细过程大家可参考达梦官网。

问题三:堆表与索引组织表的区别?

答:达梦数据库创建表的时候默认是索引组织表。索引组织表会有唯一一个聚簇索引键,表数据按照聚簇索引键排序,默认使用 rowid 为聚簇索引键。rowid会占用存储空间,所以索引组织表比堆表占用较多空间。而堆表的数据是无序的,插入也是无序,所以堆表插入效率较高,rowid不占空间。所以堆表比索引组织表节约空间,而索引组织表对聚簇索引键的范围查询效率更高。

由于篇幅原因,此处不再一一列举问题点,大家可以在学习过程中遇到问题时给我留言,一起探讨学习进步。

最后给大家一个思考题:达梦数据库的权限管理能控制truncate的使用吗?

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值