Mysql,UPDATE速度慢
1. 事情的起因 写了一个小程序,用到了数据库,其他的调试一切正常,但是程序速度贼慢。一度怀疑我线程池有问题,经过仔细排查,发现是数据库的问题,因为把数据库相关的代码去掉,速度贼快。 确定了是数据库的问题,那么有进一步的深入发现是 一条sql语句的问题,执行时间竟然有0.5秒,可是半秒钟啊,无法接受的呀。 2. 问题sql语句 这条sql很简单,就是更新状态的一条语句,更新 grab 表中的 state 字段 UPDATE grab SET state=1 WHERE qid=6896366954471473416 3. 为什么会这样? 经过在搜索引擎上的疯狂搜索资料,都是众口一词的说,是不是 索引 的问题? 发现了凡是问数据库的,统统一律是索引问题 其实是 WHERE 后面的条件和数据表中的字段类型不一样所导致的,该死的mysql,不一样你不会报个错? 4. 加上双引号试试 我的那个字段是varchar类型的,你们的那个自己看着办 UPDATE grab SET state=1 WHERE qid="6896366954471473416" 来源: oschina 链接: https://my.oschina.net/u/4419131/blog/4921898