【问题标题】:SQLAlchemy (Postgres) ARRAY vs JSON for list of integersSQLAlchemy(Postgres)ARRAY 与 JSON 的整数列表
【发布时间】:2020-03-26 00:15:22
【问题描述】:

我想使用 SQLAlchemy(使用 Postgres)将整数列表存储在 Column 中。

我是使用 ARRAY 还是 JSON 更好?我的猜测是 ARRAY 在这种情况下会有更好的性能,但我没有看到任何在线确认。

附加问题:如果我希望整数是唯一的怎么办?

【问题讨论】:

    标签: arrays json postgresql sqlalchemy flask-sqlalchemy


    【解决方案1】:

    PostgreSQL 收集 PostgreSQL 数组的数组成员统计信息,但不收集 JSON 数组的统计信息。这通常会带来更好的性能。加上 PostgreSQL 数组是类型化的,这似乎对您的情况有好处。

    附加问题:如果我希望整数是唯一的怎么办?

    你能扩展一下吗?如果您尝试添加任何一个元素的第二个副本,您希望它抛出错误吗?默默忽略加法? (虽然这两种情况都没有就地添加,但它实际上是新数组/JSONB 的赋值,恰好比旧数组多一个元素)。

    【讨论】:

    • 独特,我的意思是我希望它更像一个集合而不是一个列表。集合中的任何整数都应该只出现一次。默默地忽略添加会很好。
    猜你喜欢
    • 2021-12-27
    • 2023-02-03
    • 1970-01-01
    • 2018-01-23
    • 2016-12-22
    • 1970-01-01
    • 2023-03-18
    • 2023-02-09
    • 2015-06-01
    相关资源
    最近更新 更多