相关疑难解决方法(0)

在数据库中的一组记录上存储排序顺序的最有效方法是什么?

假设PHP/MYSQL,但我不一定需要实际的代码,我只是对它背后的理论感兴趣.

一个很好的用例是Facebook的照片库页面.您可以在页面上拖放照片,这会触发Ajax事件以保存新的排序顺序.我正在实现非常相似的东西.

例如,我有一个数据库表"照片",大约有一百万条记录:

photos id:int,userid:int,albumid:int,sortorder:int,filename:varchar,title:varchar

假设我有一张包含100张照片的相册.我将照片拖放到一个新位置,然后激活Ajax事件以保存在服务器上.

我应该将整个照片ID数组传递回服务器并更新每条记录吗?假设输入验证为" WHERE userid= loggedin_id",因此恶意用户只能混淆自己照片的排序顺序

我是否应该传递照片ID,其先前的排序顺序索引及其新的排序顺序索引,检索这两个索引之间的所有记录,对它们进行排序,然后更新它们的订单?

如果单个图库中有数千张照片并且排序顺序发生了变化,会发生什么?

mysql algorithm performance database-design

19
推荐指数
2
解决办法
7502
查看次数

我如何存储订单?

我有一个应用程序,其中包含任务,您可以重新排序它们.现在我想知道如何最好地存储它们.我是否应该为ordernumber设置colomn并在每次更改时重新计算所有这些?请告诉我一个不需要我更新所有订单号的版本,因为这非常耗时(从执行的角度来看).

如果我必须将一个位于订单顶部然后将其拖到底部,那么这尤其糟糕.

  • 名称(订单号)

-

  • 1例(1)
  • 2例子(2)
  • 3例3(3)
  • 4例子(4)
  • 5例子(5)

-

  • 2例子(1)*
  • 3例子(2)*
  • 4例3(*)*
  • 5例(4)*
  • 1例(5)*

*必须在数据库中进行更改

一些任务也可能因为完成而被删除

mysql sorting database-design

12
推荐指数
3
解决办法
2667
查看次数

标签 统计

database-design ×2

mysql ×2

algorithm ×1

performance ×1

sorting ×1