直播回顾 | 林晓斌:我的 MySQL 心路历程
林晓斌
该思维导图由 AI 生成,仅供参考
在专栏上线后的 11 月 21 日,我来到极客时间做了一场直播,主题就是“我的 MySQL 心路历程”。今天,我特意将这个直播的回顾文章,放在了专栏下面,希望你可以从我这些年和 MySQL 打交道的经历中,找到对你有所帮助的点。
这里,我先和你说一下,在这个直播中,我主要分享的内容:
我和 MySQL 打交道的经历;
你为什么要了解数据库原理;
我建议的 MySQL 学习路径;
DBA 的修炼之道。
我的经历
以丰富的经历进入百度
我是福州大学毕业的,据我了解,那时候我们学校的应届生很难直接进入百度,都要考到浙江大学读个研究生才行。没想到的是,我投递了简历后居然进了面试。
入职以后,我跑去问当时的面试官,为什么我的简历可以通过筛选?他们说:“因为你的简历厚啊”。我在读书的时候,确实做了很多项目,也实习过不少公司,所以简历里面的经历就显得很丰富了。
在面试的时候,有个让我印象很深刻的事儿。面试官问我说,你有这么多实习经历,有没有什么比较好玩儿的事?我想了想答道,跟你说个数据量很大的事儿 ,在跟移动做日志分析的时候我碰到了几千万行的数据。他听完以后就笑了。
后来,我进了百度才知道,几千万行那都是小数据。
开始尝试看源码解决问题
加入百度后,我是在贴吧做后端程序,比如权限系统等等。其实很简单,就是写一个 C 语言程序,响应客户端请求,然后返回结果。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
林晓斌在极客时间进行了一场直播,分享了他与MySQL打交道的经历和心得。他强调了解数据库原理的重要性,包括更好地定位问题、更巧妙地解决问题以及拥有更多方法。通过亲身经历,他阐述了了解数据库原理的益处,以及如何通过对源码的理解来优化操作行为。此外,他还分享了关于DBA的修炼、SQL效率提高方法以及学习C、C++的建议。文章内容生动有趣,展现了作者在技术领域的深厚造诣和丰富经验。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《MySQL 实战 45 讲》,新⼈⾸单¥68
《MySQL 实战 45 讲》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(65)
- 最新
- 精选
- liuq看了您的心路历程,我丧失了最后的一丝幻想,人与人的差距太大了,我意识到再怎么努力也达不到您刚毕业时的水平
作者回复: 额… 怎么都不会晚的,我直到大一暑假才开始学写代码,进百度的时候旁边都是清北的同届毕业生,已经实习了一年半,我还从SVN学起,就是抓紧点时间就好了
2019-01-0834 - 杰之7通过这一节的阅读老师的心路历程,给我的第一个感受是老师敢做,很多人包括我自己都是有退缩心理的,但阅读老师的文章,老师是勇往的在向前走。 阅读到后面,越来越能感受到老师文章讲述的计算机基础学科的重要性,这其中就会锻炼人的耐心和技术水准,在老师开发数据库做源码分析时,我想又何止C和C++呢。必定会涉及到计算机操作内存,文件等内容,还有其他一些内容等。 对老师给的多写SQL,尽量少用界面软件,我也非常认同,也是我们熟悉Mysql的必经之路,可以让我们对数据底层的东西建立起我们的感觉,图形界面用多了会让我们失去这项能力。 不敢奢望最后能走多远,能有老师带着学习成长就值得。
作者回复: 👍🤝
2019-01-1422 - Zzz林老师,关于贴吧系统权限脏页刷新的那个例子,有个疑问:既然“MySQL 里面就只有我那一个 select 全表扫描的请求“,为什么会有脏页呢?本来我想的是不是系统崩溃后MySQL在通过redo log恢复,但是恢复不是应该发在MySQL重启后,为select语句提供服务之前吗,它们应该已经刷新到磁盘了。那脏页是哪来的呢?
作者回复: crash recovery 过程中产生的
2019-01-22416 - 滔滔老师,想问一个关于加锁的问题,在mysql中有很多种锁,比如意向锁,行锁,gap锁,页面锁等等,往往一条复杂的sql语句的执行过程中要加很多的锁,通常情况下,是否存在一个锁申请的队列,并发的事务都向这个队列中提出自己想加的锁的申请,然后引擎根据队列中的顺序依次加锁,还是说加锁过程是原子的一次完成的呢?比如说一个update语句走全表扫描,在rr隔离级别下,会对每一条记录加x锁以及gap锁,这些锁是一次性加上的吗?
作者回复: 不是一次性,你这个问题很好,在第21篇会讲到
2018-12-189 - 姚伟老师说的了解数据库原理就是要去读懂MySQL的源代码吗?
作者回复: 不一定要。 我见过很多经验丰富的数据库专家,他们对原理理解非常透彻,业务架构设计很有经验,也是很厉害的
2018-12-187 - geraltlaush老师,我还想问下有没有教程和书教人从零开始实现一个数据库引擎,能够包含基本的数据库原理,我以后想从事分布式存储方面的工作,特别想能自己上手实现一个简易的引擎,但是能力不够,想找个教程
作者回复: MySQL 的example引擎、federated引擎,第三方SphinxSE引擎都可以看看,比较简单
2018-12-213 - 墨萧连接失败也不会重连,仍然用原来断掉的连接,所以就报错了。请问老师,怎么重连呢,我在连接url加上了&autoReconnect=true ,好像不起作用啊
作者回复: 有些框架有bug,一般都会提供close然后再connect的方法给程序调用的吧?
2018-12-1922 - janey为什么没有测试怎么学MySQL?业务是MySQL紧耦合的,所以买了这门课,学到这一讲,有一些反复看了几遍,当时觉得懂了,再回头觉得需要分析的时候又忘了……主要接触不到实际的业务,测试时除非客户反馈,太关注单个sql的性能的话对测试效率是不可接受的。边矛盾边学习……
作者回复: 性能测试的时候如果碰到好多慢查询,会需要你去看原因吗?还是就是直接贴给开发就好了😆
2019-03-0231 - paul.yang老师问个问题,为什么写数据库用c或者c++,是其他语言gc的问题吗?
作者回复: 可能是年代问题吧,现在也有别的语言写的数据库呀,比如go
2019-02-031 - ProgramGeek阅读丁奇老师的 MySQL 心路历程受益匪浅,那么2019 年第一个问题请教下丁奇老师,后续对 MySQL 2PC,3PC方面会做详细的讲解吗?在3PC场景中 MySQL 怎么保证数据的一致性?
作者回复: 2PC已经有啦,你往后看哦😄
2019-01-021
收起评论