【发布时间】:2011-12-19 19:54:24
【问题描述】:
我有一个带有锁定超时列的 InnoDB 表。如果此列为空,则没有锁,否则根据该列中的时间戳,存在一个超时锁。
我遇到的问题是该表中有很多行,并且该表中的许多行每分钟都会被处理,但处理当前遵循此模型:
1. select rows to be processed
2. iterate over rows to be processed in Java
a. Try to acquire a lock on row
b. if lock acquired, process row and continue; else continue
这很快就会变得低效,所以如果我可以尝试在要处理的所有行上获取锁,然后返回结果集是在一个事务或几个更有效的事务中获得锁的所有行。
你会推荐什么?
【问题讨论】: