Direct Query 脚本变量
您可以使用脚本变量来描述和操作 Direct Query 应用程序的内部结构。
使用下拉菜单查看每个变量的简要说明和语法。
此变量允许应用程序指定将缓存的查询结果视为过期的时长。
该时长从结果首次被缓存时开始计算。如果缓存结果的时长大于或等于 n 秒,则认为其已过期,并且不会作为匹配查询的缓存结果使用。相反,相关查询将像不存在缓存结果一样执行。
当查询再次执行时,其新结果可能会被缓存,具体取决于当前的缓存和内存状态。如果被缓存,它将重新开始计算时长,直到 n 秒后过期。
此变量的默认值为 30。这意味着缓存的查询结果在 30 秒后被视为过期。
| 值 | 描述 |
|---|---|
| -1 |
此设置意味着在用户登录期间保留缓存。 |
| 0 |
完全禁用缓存。 |
| 1-9,223,372,036,854,775,807 | 设置缓存结果的过期时长(以秒为单位)。 |
| > 9,223,372,036,854,775,807 | 与将变量设置为 30 相同。 |
DirectQueryResultCacheExpirySeconds=n;
对于大多数使用 Direct Query 的图表,获取的最大行数的默认值由客户端查询驱动,并且可以在 256 到 1000 之间变化。散点图是个例外,其默认最大值固定为 2500。这意味着某些 Direct Query 支持的图表将不会显示超过 n 行结果,即使对图表内容进行无限制的 SQL 查询会导致超过 n 行。
DirectQueryRowFetchMaxCount 脚本变量的存在是为了允许增加或限制在表格图表中显示的最大行数,或者将散点图图表上显示的最大结果限制为小于默认最大值 2500。
此外,DirectQueryRowFetchMaxCount 还有以下注意事项:
-
DirectQueryRowFetchMaxCount 的默认值为 -1(表示不使用)。
-
将脚本变量 DirectQueryRowFetchMaxCount 设置为大于 0 的特定值,允许填充表格图表的查询从数据库中获取最多 DirectQueryRowFetchMaxCount 行 - 最高可达下表中显示的最大值。
-
如果将 DirectQueryRowFetchMaxCount 配置为 0 到 2500 之间,则 DirectQueryRowFetchMaxCount 值也将用于限制为填充散点图图表而检索的最大数据行数。
-
要撤消 DirectQueryRowFetchMaxCount 脚本变量的影响,可以取消定义该变量,或者将其显式设置为 -1 值。
| 值 | 描述 |
|---|---|
| 0 |
值 0 是一个特殊值,仅影响表格图表行获取。 此设置动态地对所有适用行(受选择影响)进行分页,以填充表格图表。确定分页的总最大行数是通过执行初始计数查询来完成的,以确定远程数据库将为表格的填充查询返回多少总行数。 将此变量设置为 0 将导致所有其他支持的 Direct Query 图表(表格和散点图除外)获取其默认的客户端指定的最大行数。散点图将获取其默认的最大 2500 行。 信息注释由于这会在每次加载或选择时执行两次查询而不是一次,因此在数据库性能和成本方面可能会更加昂贵。
|
| 1-100,000 | 设置从远程数据库为表格或散点图图表获取的最大行数。请注意,散点图图表检索显示的行数永远不会超过 2500 行。 |
| > 100,000 | 与将变量设置为 0 的效果相同。 |
DirectQueryRowFetchMaxCount=n;