EXPLAIN SELECT a.* FROM gc_fin_rate_info  a LEFT JOIN rbac_user b ON a.owner =b.id;

处理之前的情况。

虽然走了索引,但是type不为ref。分析表的字符集及校验规则

 

两张表的字符集、引擎、核对规则都是一样的,就是不走索引

翻阅资料发现,mysql的字段也有校对规则,两个字符串比较,要求必须有相同的校对规则,或者是相容的,及左连的表的校对规则的级别高于主表,mysql的校对规则默认有utf8_bin(最高,以二进制的形式对编码进行比较),utf8_general_cs(区分大小写),utf8_general_ci(不区分大小写),如果left join左右两边的级别一样或者右边的级别高于左边的会走索引。

用show create table gc_fin_rate_info  ,rbac_user 查看关联的字段的属性,

CREATE TABLE `gc_fin_rate_info` (
`owner` CHAR(20) COLLATE utf8_bin NOT NULL
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin

CREATE TABLE `rbac_user` (
`id` CHAR(20) CHARACTER SET utf8 NOT NULL
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin

发现rbac_user的id没有校对规则,即级别小于主表的字段。所以不走索引

修改级别即可

ALTER TABLE rbac_user MODIFY id CHAR(20)  CHARACTER SET utf8  COLLATE utf8_bin NOT NULL;

最新文章

  1. 有了lisk,为什么我们还要做一个Asch?
  2. [随记]Eval的连接方法
  3. centos7 jexus在vmware下能访问,主机访问不了解决方案
  4. 读Lua游戏开发实践指南
  5. 【POJ 3062】Party(2-SAT、tarjan)
  6. SDR 研究
  7. PHP对自己I/O流访问的封装(转)
  8. ArrayList和LinkedList的几种循环遍历方式及性能对比分析(转载)
  9. HDOJ-1017 A Mathematical Curiosity(淼)
  10. 把VS2010的智能代码提示和注解从英文变成中文
  11. Linux之通配符
  12. [译] PEP 255--简单的生成器
  13. js便签笔记(10) - 分享:json.js源码解读笔记
  14. CLIENT_0004:Unable to find valid Kerberos ticket cache (kinit)
  15. 4. mybatis实战教程(mybatis in action)之四:实现关联数据的查询
  16. linux永久关闭防火墙
  17. Java队列存储结构及实现
  18. centos7 docker 安装 zookeeper 3.4.13 单机standalone
  19. 【学习笔记】JavaScript的基础学习
  20. ICSharpCode.SharpZipLi 压缩、解压文件 附源码

热门文章

  1. java web学习总结(十二) -------------------Session
  2. 基于SSH框架的学生公寓管理系统的质量属性
  3. ABP 初探 之 多语言
  4. 手机浏览器不支持 IDBObjectStore.getAll
  5. JS中用new创建对象与不用new创建对象区别:
  6. JavaScript实现拖拽元素对齐到网格(每次移动固定距离)
  7. iOS 应用的生命周期
  8. One-Time Project Recognition
  9. IT人经济思维之创业 - 创业与投资系列文章
  10. MongoDB学习笔记~自己封装的Curd操作(按需更新的先决条件)