mysql 远程表

编程入门 行业动态 更新时间:2024-10-10 13:16:29

<a href=https://www.elefans.com/category/jswz/34/1771279.html style=mysql 远程表"/>

mysql 远程表

问题描述

今天在优化sql慢查询的时候发现一个坑

项目中几张Federated引擎远程表,索引失效

图中标红的这一段都为ALL(全表扫描)

这些失效的表都和remote_eval_employee_quota_detail远程表关联

建表语句如下

CREATE TABLE `remote_eval_employee_quota_detail` (

`employee_id` int(10) NOT NULL COMMENT '人员编号' ,

`quota_id` int(10) NOT NULL COMMENT '指标编号' ,

`score` int(10) NOT NULL COMMENT '分数' ,

`fd_plan_detail_uuid` varchar(50) NOT NULL COMMENT '考评id' ,

`comments` varchar(500) NULL DEFAULT NULL COMMENT '备注' ,

`qrcode_uuid` varchar(40) NULL DEFAULT NULL

)

ENGINE=FEDERATED

CONNECTION='mysql://zjiao_evalmobile:zjiao_evalmobile@192.168.100.152:3306/zjiao_evalmobile/eval_employee_quota_detail'

;

通过这种方式可以访问另一台数据库服务器中表

查找后发现原因如下

最近将数据库的默认字符集DEFAULT CHARSET=utf8 换成了 DEFAULT CHARSET=utf8mb4

重新创建remote_eval_employee_quota_detail,字符集由原来的utf8变为默认的utf8mb4后引起

解决方法

创建表的时候指定DEFAULT CHARSET=utf8即可

CREATE TABLE `remote_eval_employee_quota_detail` (

`employee_id` int(10) NOT NULL COMMENT '人员编号' ,

`quota_id` int(10) NOT NULL COMMENT '指标编号' ,

`score` int(10) NOT NULL COMMENT '分数' ,

`fd_plan_detail_uuid` varchar(50) NOT NULL COMMENT '考评id' ,

`comments` varchar(500) NULL DEFAULT NULL COMMENT '备注' ,

`qrcode_uuid` varchar(40) NULL DEFAULT NULL

)

ENGINE=FEDERATED DEFAULT CHARSET=utf8

CONNECTION='mysql://zjiao_evalmobile:zjiao_evalmobile@192.168.100.152:3306/zjiao_evalmobile/eval_employee_quota_detail'

;

标签:COMMENT,DEFAULT,quota,Federated,detail,索引,mysql,employee,NULL

来源:

更多推荐

mysql 远程表

本文发布于:2024-02-13 18:52:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1760406.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:mysql

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!