当前位置:系统粉 > 电脑问答 > 其他问答 > 一条select语句中,mysql内部的底层运行机制是怎样的?

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

提问者:赫生今世  |  浏览 次  |  提问时间:2019-07-13  |  回答数量:1

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

已有1条答案
畢業生_友少

畢業生_友少

回答数:209  |  被采纳数:54

2019-07-13 19:53:57
以select * from students where age<20为例,mysql内部运行机制是这样的:第一步:读取from后面的表(数据源),将整个表从硬盘存入到内存中,得到一个临时表,因为还没有附上条件,此时查询结果集还没有得出。第二步:读取where后面的条件。逐行扫描内存临时表中所有行,符合where条件的行才能继续呆在内存中.此时是对临时表执行过滤,查询结果集还没有得出(就像在跑步,还拿不到跑步成绩)第三步:读取select后面内容。临时表+执行完where条件后,最终得到一个结果集在内存中.select后面的内容作用于结果集,决定到底哪l些列可以输出到数据库客户端(让人看到)这个机制如果了解,对于sql查询语句的拍错是非常有利的。具体的可以去黑马程序员搜一下免费的视频,干货比较全。
赞 20
解决方法
版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航