在大数据查询中,中介“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)
Run Code Online (Sandbox Code Playgroud)
“转换为文本”是性能的一大损失。Ideal 是一种直接执行的机制,从 JSONb 到 Boolean,例如
WHERE (j->'flag1')::magic_boolean AND NOT((j->'flag2')::magic_boolean)
Run Code Online (Sandbox Code Playgroud)
PS:可以使用C++吗?可能一个CREATE CASTC ++实现,以解决这个问题?
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |