在Postgres数组中订购的可靠性如何?

时间:2015-12-19 16:17:30

标签: arrays postgresql postgresql-9.5

我有store表:

CREATE TABLE store(
  id SERIAL,
  product_ids INT[],
  product_prices NUMERIC[]
)

例如:

id | product_ids | product_prices 
----------------------------------
1  | {12, 4}     | {100, 202.5}

这意味着ID为12的产品的价格为100,产品ID 4的价格为202.5product_ids数组中的ID是唯一的。

如果产品id=4有新价格,例如199,我会这样更新:

UPDATE store SET 
product_prices [idx(product_ids , 4)] = 199
WHERE id = ?

这些数组中元素的顺序非常重要。我从不对这些数组进行排序,可能只需使用array_append()添加新的product_id和相应的价格。

所以问题是:Postgres数组中的排序有多可靠?有一天Postgres有可能会对数组或者exchang元素的位置进行排序吗?

P.S。我需要使用数组进行此操作,我不想使用列store_idproduct_idproduct_price等其他表格。

0 个答案:

没有答案