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;