update语句的优化和select查询优化相似,多了一个写操作。写操作的速度取决于被更新的数据量和被更新的索引数量。没有发生变化的索引不会被更新。
另外一个加快更新速度的方法是延迟更新操作,然后将一条记录的多次更新合并在一起进行。
将多次如果你锁表的话,将更新合并到一起执行,比每次执行一个更新要快很多。对于一个行记录格式为dynamic的MyISAM表来说,如果更新记录后数据长度变大,可能会造成记录分裂。如果你经常这样做,最好是不时地执行一下 OPTIMIZE TABLE。详情查阅章节 13.7.3.4 ,“OPTIMIZE TABLE Statement”。