dataease
dataease copied to clipboard
[Question]是否有数据缓存功能?
请描述您的问题. 仪表盘有5个视图,数据来源都是同一个数据集。5个视图都有30秒的刷新间隔 30秒后发现有5个sql语句在执行,请问这是正常的吗?如果是是否可以优化!
是的,根据每个视图的设置去拼接sql,因此查询数据每个视图都要执行自己的sql,和是否用的同一个数据集没有关系。
是的,根据每个视图的设置去拼接sql,因此查询数据每个视图都要执行自己的sql,和是否用的同一个数据集没有关系。
1.但是有一些视图条件是一样的,这个时候重复执行sql不太合理,特别是那种聚合的sql语句。 2.ch这种数据库不支持缓存吗。 3.我新建的数据集是sql数据集,不是数据库数据集。sql数据集有些情况下,在视图是不会增加其他条件了,比如视图1展示合计,视图2展示记录数
您说的这种情况,是要将数据集的sql查询结果缓存,然后视图再拼接sql查询数据集数据,最终查询出视图的数据。 如果在数据集中缓存数据,一是数据量也会比较大,二是这个缓存数据可能也需要较为频繁的更新。因此这边的处理是:数据集这边在后台只是一个sql,并不查询数据,用数据集制作视图后,如果触发视图刷新,会在数据集的sql基础上再拼接视图的条件,然后将整个sql回传数据库进行查询,再将查询结果返回前端中的视图进行展示。
我觉得这种要分情况,比如我现在用sql数据集,实际上已经聚合查询出一堆可直接用的数据,
比如我直接用sql统计出了,表A和表B的聚合数据,输入如下
这个时候我在多个视图直接使用这些结果,实际上是不会在加其他条件了。这种情况每个视图刷新时都去执行sql数据集就有点浪费性能了。 我觉得【数据库数据集】和【sql数据集】的区别在于,【数据库数据集】属于是绑定表,之后的计算和查询都是在计算列和视图。 但是【sql数据集】大部分情况是本身就可能包含计算和查询后的结果
我会出现这种情况,实际上我在计算各种率的时候出现的 比如我想算表A的数量/表B的数量,这个时候视图是只能选择一个数据集。所以我只能在sql数据集里面去计算两个表的关系