gpt4 book ai didi

sql - 最好有一个 bool 值(重要标志),如属性或在单独的表中?

转载 作者:行者123 更新时间:2023-11-29 13:37:16 25 4
gpt4 key购买 nike

我有三个案例,我不知道每个案例的更好解决方案是什么,但都是关于 bool 属性的

  • 我有一个链接表,每个链接都有属性来确定是否被访问、损坏或过滤,并且每个链接的值都必须更新一次(重置所有的极少数情况除外)。

  • 上面同样的链接有一个不断更新的访问属性,但是在一个超过100万行的表中,最多10,000或20,000是真的。

  • 我有一个包含页面和一个属性的表,用于指示每个页面是否已处理。最后(处理后),所有行都必须为真。

我想知道对于每一种情况,什么是更好的解决方案。

我认为是:第一种情况是属性,第二种情况是表格,第三种情况我不知道。

欢迎使用其他解决方案(例如索引)。

重要提示:两个表(页面和链接)的行数都可以超过一百万。

最佳答案

我会说第一种情况是列,第二种情况是表,第三种情况是列。

根据数据库的规模,您主要关心的可能是将经常更新的数据与其余数据分开。这就是为什么我会为第二种情况建议一张表。但是,您可以明智地使用 PostgreSQL 的“HOT”特性,这意味着如果正在更新的列没有索引,则更新不会导致表膨胀。但是,让流量远离大表可能仍然是一个好主意,因为可能会有很大的寻道时间,保持 autovacuum 快乐等。如果您担心,我会对此进行测试。

关于sql - 最好有一个 bool 值(重要标志),如属性或在单独的表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6720052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com