设置
number
number
不是主键number
可能为NULL number
上有唯一索引方案
可能有多个并发工作者,每个人都执行此任务:
max(number)
查询,本地保存number
更新表中的给定行,将最大值加1(先前为给定行为NULL)预计会有数千个排队的行。
基本上,这个想法是按需扩展严格的无间隙序列。表中将存在行number
的行,直到它们被排序。一旦行具有非NULL number
,它们就不会被删除。
问题
max(number)
查询是索引查找。在尝试许多并发更新时,索引更新会发生什么?是吗:
max(number)
个查询? (颠簸指数维护,并导致工人等待)