我正在开发一个 Grails Web 应用程序,该应用程序的访问模式与 StackOverflow 或 MyLifeIsAverage 类似——用户可以对条目进行投票,他们的投票用于根据投票数对条目列表进行排序。在执行排序的选择查询时可以进行投票。
由于选择会锁定表的大部分,因此似乎正常的事务锁定会导致更新永远需要(给定足够的流量)。有没有人开发过具有此类数据访问模式的应用程序,如果是,您是否找到了一种方法来允许这些更新和选择或多或少同时发生?有谁知道像 SO 这样的网站是如何处理这个问题的?
我的想法是使排序选择脏读,因为如果它们不是一直都是最新的,这是可以接受的。这是我可能提高这些选择和更新性能的唯一想法,但我认为有人可能知道更好的方法。