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;

 

posted @   郭大侠1  阅读(251)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源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的情况
点击右上角即可分享
微信分享提示