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;
此變數允許應用程式指定將會從遠端資料庫根據圖表擷取的列數上限。這不會影響任何彙總操作。
此變數的預設值為 1000。這表示,有些圖表 (例如表格) 不會顯示超過 1000 列結果,即使查詢填入產生 50,000 列的圖表也是如此。您可以調整 DirectQueryRowFetchMaxCount 以從資料庫擷取更多列,以顯示所有資料。若變數有支援範圍以外的值,會使用預設值 1000。
值 | 描述 |
---|---|
0 |
此設定執行額外查詢來決定要擷取多少列,以便動態擷取所有列。 資訊備註由於這會對每次載入或選取執行兩次查詢,而非一次,對於資料庫效能和成本而言會更加昂貴。
|
1-100,000 | 設定要從遠端資料庫根據圖表擷取的列數上限。 |
> 100,000 | 與將變數設定為 0 相同。 |
警告備註若您將 DirectQueryRowFetchMaxCount 設定為很高的值,應用程式效能可能會因為產生高列數的查詢而降低。擷取大量資料也可能造成較高的遠端資料庫成本。
DirectQueryRowFetchMaxCount=n;