首页 > 电脑

一条select语句中,mysql内部的底层运行机制是怎样的?

更新时间2019-07-20 08:21:31

一条select语句中,mysql内部的底层运行机制是怎样的?

以select * from students where age<20为例,mysql内部运行机制是这样的:

第一步:读取from后面的表(数据源),将整个表从硬盘存入到内存中,得到一个临时表,因为还没有附上条件,此时查询结果集还没有得出。

第二步:读取where后面的条件。逐行扫描内存临时表中所有"行",符合where条件的"行"才能继续呆在内存中.此时是对临时表执行过滤,查询结果集还没有得出(就像在跑步,还拿不到跑步成绩)

第三步:读取select后面内容。临时表+执行完where条件后,最终得到一个结果集在内存中.select后面的内容作用于结果集,决定到底哪些列可以输出到数据库客户端(让人看到)

 

这个机制如果了解,对于sql查询语句的拍错是非常有利的。具体的可以去黑马程序员搜一下免费的视频,干货比较全。


相关标签:mysql

上一篇:如果一个星期100小时学习编程一般人需要多久掌握所有语言

下一篇:抖音63数据是什么?