最近在学习林晓斌(丁奇)老师的《mysql实战45讲》,受益匪浅,做一些笔记整理一下,帮助学习。如果有小伙伴感兴趣的话推荐原版课程,很不错。
1) --基础架构,一条sql查询语句如何执行
mysql大体来说可以分为server层和存储引擎层两部分.
server层包括:连接器,查询缓存,分析器,优化器,执行器等,涵盖mysql的大多数核心服务功能,以及所有的内置函数(如日期,时间,数学和加密函数等),所有跨存储引擎的功能在这一层实现,比如实现存储过程,触发器,视图等。
存储引擎层:负责数据的存储和提取,其架构模式是插件式的,支持如innodb,myisam,memory等多个存储引擎,现在最常用的存储引擎是innodb,它从mysql5.5.5版本开始成为了默认存储引擎。
这个系列中每篇末尾都会有课后题,答案在下一讲中公布。因此笔者决定保留这种形式。
课后题:
如果表t中没有字段k,而去执行这个语句 select * from t where k = 1,那么会报错“unknown column ‘k’ in ‘where clause’”。请问这个错误是在哪个阶段报出的?
后记:
本来以为自己已经差不多弄懂了这一讲的东西,直到动手写笔记才意识有很多细节忽略了。坚持下去更新,尽快赶上我听课的进度。
如对本文有疑问, 点击进行留言回复!!
在Ubuntu/Linux环境下使用MySQL开放/修改3306端口和开放访问权限
ORM框架Peewee(高级连接)peewee连接池、主从、重连、ssh连接
记一次Mysql主从复制延迟,Waiting for dependent transaction to commit
网友评论