微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PostgreSQL上的CTE和临时索引

我在postgres数据库上工作,我将使用混合的关系表和jsonb表(可以索引).

我正在使用大量的CTE查询来插入或更新从临时表中选择的数据,例如:

WITH @R_909_4045@ion as (
    select fieldA,fieldB,fieldC from tableA
)
insert (fieldA,fieldC)
SELECT inf.fieldA,inf.fieldB,inf.fieldC
from @R_909_4045@ion inf

好吧,我想知道是否有可能在这种表中创建临时索引,如果是,是否可以在jsonb类型fieds中创建索引? (考虑这个临时表)

很确定没有办法在CTE上创建索引,因为它基本上只是一个查询,而不是表 – 它不会在任何地方保存在内存中,只是根据需要进入查询计划.

但你可以创建创建临时表信息而不是,然后索引,只需对您的查询进行很少的更改.

您也可以索引物化视图,但如果您有下面的临时数据,那么创建另一个临时表可能最有意义.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐