在数据库中订购商品

时间:2018-07-11 10:41:11

标签: mysql database

我正在寻找一种有效的方法来对数据库中表中的插入项进行排序。

我正在考虑两种策略来实现它。

第一个策略:

要在表中添加订单列,并与每个“创建,更新和删除”(其成本很高的方法)保持一致,尤其是当我需要更改订单时,需要在更新元素之后更改所有元素。 / p>

item order
 1     2
 2     1
 3     4
 4     3

第二个策略:

为所有元数据创建meta_data表,并保存产品的订单和ID。 例如:

'产品'=> [{{id:1,order:2},{id:2:order:1},......]

我可以用每次修改替换元数据列表,但是当从表中选择数据时,这也是一种昂贵的方法。

还有没有更有效的方法。

1 个答案:

答案 0 :(得分:0)

如果您坚持在每次编辑后正确订购,请创建如下视图:

CREATE VIEW ViewerData AS 
    SELECT * FROM Products
    ORDER BY Id

然后将视图用作后端表,尽管您仍然可以更新实际表-通过使用视图而不是表,它会在每次重新查询时自动重新排序。