您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Postgres 9.x中CHECK约束的成本是多少?

Postgres 9.x中CHECK约束的成本是多少?

有些人试图避免NULL价值观,声称这种逻辑会造成混乱。

我不是其中之一。NULL值仅适用于没有数据的列。它们无疑是存储“空”列的最便宜的方式-磁盘空间和性能(主要影响是较小的表和索引)

一旦 了解NULL价值的本质,就没有理由避免它们。Postgres提供了多种函数来处理NULL。colaesce()nullif()concat()concat_ws(),…

通常,就 而言, 胜过 并且两者均由对数 。但是,即使是简单的触发器也很便宜。NOT NULL约束的成本几乎为零。同样,所有这些仅影响写操作,但是在大多数应用程序中,读操作占主导地位。

因此,对性能(除次优索引和查询之外)的影响 是表和索引的 ,或更重要 。在大多数情况下,较大的元组会导致性能降低。满足查询所必须读取的数据页数相应增加。可用的高速缓存内存已较早饱和。

我还没有基准测试,但是最好还是针对您的特定环境进行测试。这些只是简单的经验法则。现实要复杂得多。

Postgres 2022/1/1 18:47:35 有303人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶