我有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.5
。 product_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_id
,product_id
,product_price
等其他表格。