网站开发中为什么有两个控制层,网站建设相关关键词,做网站不给提供ftp,怎么开通公众号结论#xff1a;关联表的列的字符集不一致导致的
场景#xff1a;user_t#xff08;用户表#xff09;、org_t#xff08;机构表#xff09;#xff0c;user_t的org_id和org_t的id是一对一关系 1.explain发现org_t表未走索引#xff0c;但是org_t的id字段默认存在主键…结论关联表的列的字符集不一致导致的
场景user_t用户表、org_t机构表user_t的org_id和org_t的id是一对一关系 1.explain发现org_t表未走索引但是org_t的id字段默认存在主键索引所以肯定不是未建索引导致的
explain select t1.account,t2.name from user_t t1
left join org_t t2
on t1.org_id t2.id
where t1.sex 0;2.查看org_t.id的字符集和排序规则为utf8 utf8_general_ci
show full columns from org_t;3.查看user_t.org_id的字符集和排序规则为utf8mb4 utf8mb4_general_ci
show full columns from user_t;4.把user_t.org_id的字符集和排序规则调整为utf8 utf8_general_ci
alter table user_t modify column org_id varchar(20)
character set utf8 collate utf8_general_ci default null comment 机构ID;5.再次执行explain发现org_t表走了索引效率大大提升
explain select t1.account,t2.name from user_t t1
left join org_t t2
on t1.org_id t2.id
where t1.sex 0;