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

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

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秒内就完成。

 

posted @ 2012-12-22 17:10  数飞尔  阅读(885)  评论(0编辑  收藏  举报