1.Mysql内部结构

58 阅读1分钟

数据库内部结构

image.png

server层是处理常规操作

引擎层是存储数据和提取数据,常用的引擎有innodb,memory,myisam。

长连接和短连接状态

长连接连接成功,持续等待用户的请求,保持着连接状态。

短连接每次执行几次操作,自动重新建立连接。

(选择哪种连接方式?)

建议使用长连接,但是长连接会导致临时内存占用太大,因此定期断开长连接,执行过一个占用内存大查询后,断开连接重新重连。

分析器

词法分析语句的每串字符代表什么。

语法分析检查语句输入格式是否正确。

优化器

表里有多个索引字段,按照索引字段找。

join关联表决定从哪个表找。

执行器

判断当前用户是否有权限对这个表进行操作。

练习题:我给你留一个问题吧,如果表 T 中没有字段 k,而你执行了这个语句 select \* from T where k=1, 那肯定是会报“不存在这个列”的错误: “Unknown column ‘k’ inwhere clause’”。你觉得这个错误是在我们上面提到的哪个阶段报出来的呢?

我的答案:分析器,表T是否存在,字段k是否在T表中存在。