MySQL left join快 inner join慢

遇到一个非常诡异的问题

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  竟然变快了。。。

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

特发帖纪念。。。

猜你喜欢

转载自wwwcomy.iteye.com/blog/1680261