记一次MYSQL更新优化
引言 今天(August 5, 2015 5:34 PM)在给数据库中一张表的结构做一次调整,添加了几个字段,后面对之前的数据进行刷新,刷新的内容是:对其中的一个已有字段 url 进行匹配,然后更新新加的字段 type 和 typeid 。后来就写了个shell脚本来刷数据,结果运行shell脚本后我就懵了,怎么这么慢~~~ 情景再现 CREATE TABLE `fuckSpeed` ( `uin` bigint(20) unsigned NOT NULL DEFAULT 0, `id` int(11) unsigned NOT NULL DEFAULT 0, `url` varchar(255) NOT NULL DEFAULT '', `type` int(11) unsigned NOT NULL DEFAULT 0, `typeid` varchar(64) NOT NULL DEFAULT '', ...... KEY `uin_id` (`uin`,`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 表结构大概是上面这样的(省略了好多字段),表中只有一个联合索引 uin_id ,而我在更新的时候是下面的思路: 首先根据一个id范围获取到一定数量的数据 select id,url from funkSpeed where id>=101