MySQL实战 | 01-当执行一条 select 语句时,MySQL 到底做了啥? (4)

最后就作者的问题,分析为什么是分析器,因为文章中说了词法分析的时候会解析出查询的表,列等等,所以此时就应该能知道表列的存在性。而且从我个人的拙见来看,如果先一步判断出这种无法查询的错误,避免后续执行,则可以避免无谓的性能开销。而表列的数据较少,完全可以这里判断。
当然,也可以在句法分析的步骤判断,个人数据库不太熟悉,只能从程序设计的角度考虑,望各位大佬真诚的评论

问:
丁老师,既然在链接阶段已经通过权限表获取了这个该连接所具有的权限,那么在执行阶段再检查一次的意义何在,谢谢!
作者回复:
执行器阶段会碰到需要再判断权限的情况,这时候读内存中事先存好的权限,而这个权限是在连接器阶段算出来存进去的

问:
长连接占用内存猛涨的情况下,您提供两种解决方案,您倾向于在生产环境使用什么方案呢? 为什么呢? 或者你评价这两种方案在生产环境有什么优劣呢?
作者回复:
5.7以上就建议用mysql_reset_connection 方法,低版本就定期断开重连

另外,评论里多次提到了《高性能MySQL》一书,这里也为大家提供一个电子版,回复【005】可以获取。

好了,第一篇,学习了好几天,因为是工作党,时间都是拼凑出来的,所以后续肯定跟不上专栏老师的节奏,不过会坚持的,大家一起加油干吧!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjpjw.html