在postgresql中保存多个用于聚合的动态过滤器

c86crjj0  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(168)

存储多个动态过滤器最有效的方法是什么?这些过滤器可以由用户在给定的数据上创建,也可以使用过滤器来聚合数据?
假设我有一张table叫 t_filter 它将为给定的数据存储一些数据过滤器/查询 t_data .
用户可以完全动态地构建每个过滤器,并将其保存以创建某种 Jmeter 板(按过滤器名称保存的过滤器列表和按条件过滤的数据上的某些聚合函数)。
每个过滤器可以有不同的条件和运算符( >= , <= , != , == , IS NOT NULL , IS NULL , AND , OR , BETWEEN 等)中给定条目的不同字段 t_data .
用户可以修改其过滤器:create/update/delete和中的条目 t_data 可以通过导入增长,也可以通过删除收缩,所以一切都是动态的。
我通过基于用户创建的过滤器创建动态sql解决了这个问题, UNION ALL 中的所有现有动态sql条目 t_filter 并从结果中创建一个物化视图(仅外键信息:哪个 filter_id 属于哪个数据(id)。
这个解决方案可以工作,但不是那么方便,因为我需要检查过滤器的变化,重新生成物化视图,以及新的或删除的条目 t_data .
对于每一个额外的过滤器条目,由于需要执行额外的sql,生成视图所需的时间更长。
有没有更好的办法来解决这个问题?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题