楼主: hwayw

话题讨论:怎样阅读InnoDB存储引擎源码(已公布获奖)

[复制链接]
论坛徽章:
23
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:22itpub13周年纪念徽章
日期:2014-10-08 15:20:46itpub13周年纪念徽章
日期:2014-10-08 15:20:46itpub13周年纪念徽章
日期:2014-10-08 15:20:46itpub13周年纪念徽章
日期:2014-10-08 15:20:46itpub13周年纪念徽章
日期:2014-10-08 15:20:46itpub13周年纪念徽章
日期:2014-10-08 15:20:46马上有钱
日期:2014-02-18 16:43:092014年新春福章
日期:2014-02-18 16:43:09ITPUB社区12周年站庆徽章
日期:2013-10-08 17:44:42
11#
发表于 2014-5-20 22:43 | 只看该作者
对dba来说,理解mysql内核还是挺重要的,很多时候文档只是描述了一些概念,通过测试只是了解到mysql的一些现象.
比如mysql的关联查询 、 一些函数的算法等, 通过阅读文档 或者 测试环境验证, 看到的只是表面现象, 却不明白正真是怎么实现的.
去看看源码,了解一下mysql的内核,或许有想要的答案.

使用道具 举报

回复
论坛徽章:
0
12#
发表于 2014-5-21 00:13 | 只看该作者
好书齐分享。

使用道具 举报

回复
求职 : 数据库管理员
招聘 : 系统架构师
论坛徽章:
4
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:22ITPUB社区千里马徽章
日期:2013-08-22 09:58:032014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09
13#
发表于 2014-5-21 08:47 | 只看该作者
3.说说读完试读章节后您的感想?
感觉挺不错的一本书,本书总体排版风格感觉有点像UNIX环境高级编程。试读2章,觉得本书深入细致的讲解了mysql数据库内核源码细节实现。关系型数据库发展至今越来越成熟,主流关系型数据库的主要功能越来越趋于一致,所以深入理解本书可以对所有关系型数据库有一个更为深刻的认识和理解。作为维护人员时常会遇到一些性能之类的问题,通过学习本书有利于我们进行问题排除和总结。作为数据库开发人员可以把这本书作为参考手册。

使用道具 举报

回复
论坛徽章:
12
2010新春纪念徽章
日期:2010-03-01 11:20:05秀才
日期:2016-03-24 09:20:52猴赛雷
日期:2016-02-23 10:04:242016猴年福章
日期:2016-02-23 09:58:34猴赛雷
日期:2016-02-18 09:33:422016猴年福章
日期:2016-02-18 09:31:30秀才
日期:2015-11-30 09:59:232014年世界杯参赛球队: 葡萄牙
日期:2014-07-24 11:03:54ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:37ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28
14#
发表于 2014-5-21 10:22 | 只看该作者
mysql的含金量的确是在不断增加,从招聘开出的薪水可以看出来。但mysql的前景,或者说下一步怎么走是个问题?尤其是在这么多分支的情况下。

使用道具 举报

回复
论坛徽章:
2
2014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08
15#
发表于 2014-5-21 10:39 | 只看该作者
我正要学习,支持

使用道具 举报

回复
论坛徽章:
0
16#
发表于 2014-5-21 11:06 | 只看该作者
作者姜承尧,正在看他的《MySQL技术内幕innodb存储引擎》,书里已经涉及部分源码,不知内核这本书在内核源码方面深入了多少,很好奇,看完这本再瞧瞧这本内核的。不过,真心希望所学有所用,而对于初学者,只看一遍实在是记不住,预计得看几遍加上实践才能领略积分精髓啊

使用道具 举报

回复
论坛徽章:
0
17#
发表于 2014-5-21 11:58 | 只看该作者
首先我觉得目的先要明确,看源码的目的是为了在更高层次上去理解某个场景的出现,比如锁、执行计划,查看的目的不是为了开发,所以目的明确的话,我觉得查看源码就限于看懂某个函数的实现能够用GDB跟踪某些函数这样我觉得就够了,不需要去更加深入的去看INNODB的代码规范以及更加细节的东西,因为我犯过错,在这些上面花了很长时间,但是后来觉得这些东西应该是为了做出能够在生产上使用的产品才会去涉及的,我根本没必要去更加深入的去了解。不如说我执行一条SQL,使用了全表扫描的时候,我用SHOW SESSION STATUS 看到Handler_read_first和Handler_read_rnd_next的统计值会增加,我就可以用GDB去跟踪相应的函数,然后统计下,一共调用的次数是不是和这个统计值相等,这样你就会真正的理解到这些值到底是什么时候统计的。


开车的不一定用懂修车,会点修车技术总是有好处的,但是会修车并不能使你的驾驶技术提高,唯一能够提高驾驶技术的就是多操作多实战。。

使用道具 举报

回复
求职 : 数据库管理员
招聘 : 系统架构师
论坛徽章:
4
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:22ITPUB社区千里马徽章
日期:2013-08-22 09:58:032014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09
18#
发表于 2014-5-21 14:21 | 只看该作者
lixunix 发表于 2014-5-21 11:58
首先我觉得目的先要明确,看源码的目的是为了在更高层次上去理解某个场景的出现,比如锁、执行计划,查看的 ...

你是从运维角度出发的。没错,每个人的时间是一定的,维护工作出现的问题也是不可预估的,所以处理问题就需要依靠积累。所以说维护人员比较吃经验,就是这个道理。
如果是出于开发和学习的目的,我倒觉得应该首先要全局把握整本书的内容,然后在细细研究每处细节。所以开发不是经验积累出来的,而是研究出来的。

使用道具 举报

回复
论坛徽章:
3
2013年新春福章
日期:2013-02-25 14:51:24秀才
日期:2015-11-23 10:17:19秀才
日期:2016-02-18 10:08:14
19#
发表于 2014-5-21 17:00 | 只看该作者

1.已我自己理解,目前来看,mysql大部分的应用其实是用不到那么高深的,研究内核大部分都是兴趣使然,当然你对内核了解肯定会对你在mysql方面加分。

2.试过eclipse开打源码,但是不知道从哪儿研究起。之后由于时间关系,一直没继续跟进。不过既然要从事mysql很久的话,必然需要进一步发现的。

3.没有一定的C或者程序之类的数据结构的基础。看着确实有点头疼。

使用道具 举报

回复
论坛徽章:
57
SQL极客
日期:2013-12-09 14:13:35秀才
日期:2016-01-21 13:42:39秀才
日期:2016-01-13 12:14:26SQL大赛参与纪念
日期:2016-01-13 10:32:19SQL数据库编程大师
日期:2016-01-13 10:30:43秀才
日期:2015-12-14 14:47:54秀才
日期:2015-10-19 15:50:392015年新春福章
日期:2015-03-06 11:58:18懒羊羊
日期:2015-03-04 14:52:11优秀写手
日期:2014-11-08 06:00:14
20#
发表于 2014-5-21 22:16 | 只看该作者
MySQL 发展很好,目前薪水不错

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表