首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在新列上添加索引

在新列上添加索引
EN

Database Administration用户
提问于 2019-04-11 17:32:22
回答 1查看 653关注 0票数 2

我正在向一个大型的(50亿行) Postgres (9.6)表中添加一个新列(bigints,初始值都为null)。

我想在行中添加一个索引(算法:并发),我想知道是否有一种方法可以节省扫描所有50亿个空字段的时间,以便将它们添加到索引中,因为当列是全新的且没有数据时,我要添加索引。对此是否有任何优化,还是应该让它运行?(从理论上讲,是否有可能进行优化,或者是否需要在索引中添加一些内容,即使是空字段?)

EN

回答 1

Database Administration用户

回答已采纳

发布于 2019-04-11 18:49:23

不,对不起。

PostgreSQL通常对空字段进行索引,因此必须为每一行添加一个条目。您可以创建索引而不是索引NULL(使用部分索引,或者使用非默认类型的索引,而不是索引NULL),但是对于这样的索引,没有实现它来观察列上的all-NULL约束,因此采取不扫描表的捷径。它会无济于事地扫描桌子,寻找没有不过,这主意很有趣。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/234590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档