草庐IT

processingID

全部标签

MySQL - 如何有效地获取 ID 最低的行?

有没有比在以下查询中使用ORDERBYidLIMIT1更快的更新MySQL表中符合特定条件的最旧行的方法?UPDATEmytableSETfield1='1'WHEREfield1=0ORDERBYidLIMIT1;注意:假设主键是id并且field1上也有一个索引。我们正在更新单行。我们没有严格更新最旧的行,我们正在更新符合条件的最旧的行。我们要更新最老的匹配行,即最低的id,即FIFO队列的头部。问题:是否需要ORDERBYid?MySQL默认是如何排序的?现实世界的例子我们有一个用于电子邮件队列的数据库表。当我们想要将电子邮件排队发送给我们的用户时,会添加行。行由cron作业删除