//在 mysql5.6 版本可以命中 ad_data_id 这个索引
explain SELECT * from ssp_ad_data left join ssp_ad_statistics on ssp_ad_data.id=ssp_ad_statistics.ad_data_id;
//在 mysql8.0 不能命中索引
提示
Using where; Using join buffer (Block Nested Loop)
1
awanganddong OP 问了下公司技术大佬
然后确定是无符号的问题 在 mysql5.6 和 mysql8.0 对符号有差异 在 mysq8 设置符号后可以命中索引 |
2
CStarter 2020-04-25 12:47:04 +08:00
看到 Block Nested Loop 这个,我感觉也有可能是字符集的问题?
|
3
awanganddong OP @CStarter 现在通过对 mysql8.0 字段变为无符号就可以命中索引,但是对为什么这样,我现在还没有查找相关的说明
|