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;