MySQL8.0.32版本一个严重Bug及解决方案
前言
最近业务反馈,8.0.32在使用union和union all的过程中,发现含有中文等特殊字符时查询返回数据为空。这个影响是比较严重的。
具体可参考芬达写的文章《实战——研究一个 MySQL8.0.32 优化器的严重 Bug》,文章的群友就是我本人,哈哈哈……
Bug 影响版本范围
目前只发现8.0.32版本,其他版本目前没有。但是一些分支版本也受到了影响,比如percona8.0.32,所以大家要结合自己的环境排查一下。
解决方案
1、关闭条件下推
set optimizer_switch="derived_condition_pushdown=off";<br>
修改后的代码加了字符集处理。