您的位置:首页 > 数据库 > MySQL

MySQL left join快 inner join慢

2015-10-13 15:02 465 查看
遇到一个非常诡异的问题

A(ID,a1,a2...),B(ID,b1,b2...)两表 ,两个ID列为主键,不过类型不一致 A的是mediumint B的是varchar

大概都有2000多条数据

使用最基础的左连接 要跑1.9S ,但是用inner join只要0.1S

于是乎就google “left join快 inner join慢 ”关键字

结果要么是对这两种连接的效率讨论 要么是说数据库的存储引擎不一致导致的

我发现确实A,B的存储引擎不一致,但是都改为innodb了 依然没作用

经过一天纠结后  试试运气把A的ID数据类型改为varchar  竟然变快了。。。

因为数据库表不是自己创建的 所以数据类型也就没太在意  至于深层次的数据类型转换还没细看 粗略查了一下 不过这种转换对查询的效率影响还是蛮大的。

特发帖纪念。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: