现在的位置: 首页 > 综合 > 正文

mysql中使用not in速度慢的一种原因:字段类型不匹配

2013年05月10日 ⁄ 综合 ⁄ 共 221字 ⁄ 字号 评论关闭

最近客户反应某个的页面速度越来越慢,要十几秒才能执行完.

SQL并不复杂,大概就是:select 字段 from 表1 where 字段1 not in (select 字段2 from 表2)

其中表1和表2的数量都是几万条,数据量并不大, 技术人员检查了索引,以及用not exists 和left join分别改写都没什么改变.

花了几天时间,发现字段1的字段类型为int,字段2的字段类型为varchar.于是将字段2的字段类型改为int,结果执行速度在1秒内就完成。

 

抱歉!评论已关闭.