mysql字符集不同导致关联查询进程一直卡住send data,mysql修改表字符集
【1】前提
(1)语句
on关联的2个表字段都有索引 ,变成了笛卡尔积,走了几百秒都没出来。
(2)表字符集与服务器字符集
t_settle_apply 是 utf8mb4 格式, order_basicinf 为 utf8格式
服务器字符集是utf8
用(1)中left join 改成 right join 却可以走索引,因为服务器字符集是UTF8?表 order_basicinf 为 utf8格式?所以可以走索引?
【2】分析解决
有效办法:
1、修改 utf8mb4 字符集表 t_settle_apply ,把该表关联字段设置为 utf8了。问题解决,可以走索引了。
(alter table `t_settle_apply ` modify column nike_name varchar(500) character set utf8 comment '昵称';)
2、转换表字符集 alter table store_warehouse convert to character set utf8
不生效的情况:
1、alter table t1 default character set utf8;
2、alter table t1 set utf8;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2020-01-09 在从该备份集进行读取时,RESTORE 检测到在数据库 "CISDB" 中的页(0:0)上存在错误。系统断定检查已失败
2020-01-09 【1.2】shell基础——stty erase解决按backspace出现^H的情况