我理解乐观和悲观锁定*之间的区别.现在有人可以向我解释我何时会使用其中任何一个?
这个问题的答案是否会根据我是否使用存储过程来执行查询而改变?
*但只是为了检查,乐观的意思是"在阅读时不要锁定桌子",悲观意味着"在阅读时锁定桌面".
对于在Django/Python中实现的网站,我们有以下要求:
在视图页面上,每个Web分页显示15条消息.如果来自同一来源的更多两条或更多条消息在视图上相互跟随,则应将它们组合在一起.
也许不清楚,但以下例子可能是:
一个例子是(这次在页面上有5条消息):
Message1 Source1
Message2 Source2
Message3 Source2
Message4 Source1
Message5 Source3
...
Run Code Online (Sandbox Code Playgroud)
这应显示为:
Message1 Source1
Message2 Source2 (click here to 1 more message from Source2)
Message4 Source1
Message5 Source3
Message6 Source2
Run Code Online (Sandbox Code Playgroud)
因此,在每个页面上,页面上会显示固定数量的项目,其中一些项目已重新分组.
我们想知道如何创建Django或MySQL查询以便以最佳和简单的方式查询这些数据.请注意,使用分页并且消息按时间排序.
PS:由于SQL的性质,我认为没有一个简单的解决方案,但有时复杂的问题很容易解决