今日分享开始啦,请大家多多指教~
跟面试官聊,发现一个普遍想象,不少候选人,对数据库的认知,还处在比较基础的阶段,以为会写“增删改查”、做表关联就足够了,那些工作中经常出现的问题,却支支吾吾答不上来,比如:
- count(*) 慢该如何解决?
- 对于千万级的大表,MySQL 要怎么优化?
- SQL 使用 Join 好,还是多次 Select 好?
- 1000 多万条数据,建了索引还是慢,该怎么办?
仔细想想,当初在用 MySQL 的过程中,遇到的问题也是五花八门,从开发技巧到管理维护,从性能问题到安全问题。第一个感受就是,MySQL 本身是个设计优良的系统,其中有很多巧妙的设计思路,比如 WAL 机制、索引的实现、缓存的处理方式等等,掌握好这些,能解决日常工作中的很多问题。
我学习 MySQL 那会儿,也没少在网上找资料,虽说有所收获,但内容大多脱离真实的软件开发,看的时候各种明白,上手实操就原形毕露了。当年学下来,让我对 MySQL 的理解上了一个新的高度。
不仅是讲清楚了原理,还梳理了 MySQL 的主线知识,比如事务、索引、锁等;并基于这条主线上,带你缕清概念、机制、原理、案例分析以及本质,让你真正能掌握 MySQL 核心技术与底层原理。
以上这些内容都是大家需要学习的,我也是正在学习进程中,后续给大家整理我学到的内容。
今日份分享已结束,请大家多多包涵和指点!