所以我有一张用户收藏表.他们有几百万行.
目前,它们只有三列:id(pk),userId和someFkRef. userId有一个索引,可以让我快速选择用户的收藏.
目前,这些是按照id进行排序,这只是插入顺序.我们希望为用户提供重新排序收藏夹的机会,最有可能通过某种拖放式互动.
我的第一个(我怀疑天真的)方法是简单地在userId上添加一个订单列和一个复合索引.然而,反思后,当用户将其项目移动到列表上一些距离时,项目的起始位置和结束位置之间的所有中间行将需要重新计算其订单列,因此也将需要索引.
这是(很可能)不好.
在我花费时间尝试量化完全不好之前,我想知道是否有更好的基于表的表示,使用上面描述的各种操作来操作它更便宜.