gpt4 book ai didi

postgresql - 如何访问 JSONb 的内部表示?

转载 作者:行者123 更新时间:2023-11-29 11:40:02 26 4
gpt4 key购买 nike

在大数据查询中,中介“CAST to text”是一个性能瓶颈......好的二进制信息就在那里,在 JSONb 数据类型:如何挽救它?

典型的“选择位置”示例:

 with t(x,j) as (select 'hello','{"flag1":true,"flag2":false}'::jsonb) 
SELECT x FROM t
WHERE (j->>'flag1')::boolean AND NOT((j->>'flag2')::boolean)

“转换为文本”是一个很大的性能损失。理想是一种直接从 JSONb 到 Boolean 的机制,如

 WHERE (j->'flag1')::magic_boolean AND NOT((j->'flag2')::magic_boolean)

PS:可以使用C++吗? CREATE CAST C++ 实现是否可以解决这个问题?

最佳答案

该功能在 Postgres 11: 中实现

E.4.3.4. Data Types

[...]

Add casts from JSONB scalars to numeric and boolean data types (Anastasia Lubennikova)

Db<>Fiddle.

关于postgresql - 如何访问 JSONb 的内部表示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56255308/

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