当数据库文件的内容没有实际更改时,UPDATE避免了不必要的低级磁盘写入。例如,“ UPDATE t1 SET x = 25 WHERE y =?” 如果x列中的值已经为25,则不会生成额外的磁盘I / O。类似地,当对跨越多个页面的记录进行UPDATE时,只有实际更改的页面子集才会写入磁盘。这仅是低级别的性能优化,不会影响TRIGGER或其他更高级别的SQL结构的行为。
现在,使用ORDER BY和LIMIT的查询会尝试避免计算可能无法进入LIMIT以下的行。这可以大大提高ORDER BY LIMIT查询的性能,尤其是当LIMIT相对于不受限制的输出行数较小时。