redash
Query Results Data Source (QRDS)
顾名思义,查询结果数据集,可以认为是SQL 中的临时表
注意:使用的是Sqlite,所以不能太大,另外,查询这个结果集的时候不能使用参数
设置
在数据源中,将其可用,需要提供一个名字
然后就可以在这个数据源中创建查询
SELECT * FROM category
查询
跟普通查询类似,只是不能使用参数
SELECT
a.name,
b.count
FROM query_123 AS a
JOIN query_456 AS b
ON a.id = b.id
如上所示,表名形如query_123,后面的数字是查询的编号,在Url中可获得,例如 /queries/49588
查询缓存
上面的查询,每次都会先执行子查询,并缓存下来,再执行主查询。
从性能上看,肯定会比较慢,这里可以使用缓存
SELECT
a.name,
b.count
FROM cached_query_123 AS a
JOIN query_456 AS b
ON a.id = b.id
如上所示,使用cached_query_123,则不再每次都执行子查询,而是直接用最后一次查询的数据
数据集权限
跟一般的数据集设置是一样的
这里需要注意的是,假如 A 用了 B ,B用了C,那么假如 用户1有A,B 权限 ,没有C的权限,则只能使用C最近缓存的数据,不能重新查询