在数据库中排序项

vql8enpb  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(287)

我正在寻找一种有效的方法来添加数据库表中插入项的顺序。
我在想两种方法来实现它。
第一个策略:
要在表中添加order列,并保持其与每次create、update和delete的一致性(这是一种非常昂贵的方法),尤其是当我需要更改顺序时,我需要更改更新元素之后的所有元素。

item order
 1     2
 2     1
 3     4
 4     3

第二个策略:
为所有元数据创建元数据表,并保存产品的顺序和id。例如:
'产品'=>[{id:1,order:2},{id:2:order:1},......]
我可以用每次修改来替换元数据列表,但在从表中选择数据时,这也是一种代价高昂的方法。
有没有更有效的方法。

des4xlb0

des4xlb01#

如果每次编辑后都坚持正确排序,请创建如下视图:

CREATE VIEW ViewerData AS 
    SELECT * FROM Products
    ORDER BY Id

然后使用视图作为后端表,同时您仍然能够更新实际的表-通过使用视图而不是表,它将在您每次重新查询时自动重新排序。

相关问题