# Direct Query 指令碼變數

您可以使用指令碼 變數 來描述和操作 Direct Query 應用程式 的內部結構，或啟用額外的重新載入輸出資訊。

使用下拉式功能表以查看每個變數的簡短描述和語法。

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DirectQuery/internal-variables-direct-query.htm)

#### DirectQueryResultCacheExpirySeconds

此變數允許應用程式指定快取的查詢結果被視為過期的存留時間。

存留時間是從首次快取結果時開始定義。如果快取結果的存留時間大於或等於 n 秒，則會被視為過期，且不會用作相符查詢的快取結果。相反地，系統將會執行該查詢，就像不存在快取結果一樣。

當再次執行查詢時，其新結果可能會被快取，具體取決於目前的快取和記憶體狀態。如果已快取，它會重新開始計算存留時間，直到在 n 秒時過期。

此變數的預設值為 30。這表示快取的查詢結果在 30 秒後會被視為過期。

支援的變數值

| 值 | 描述 |
| --- | --- |
| -1 | 此設定表示在使用者登入期間會保留快取。 |
| 0 | 快取已完全停用。 |
| 1-9,223,372,036,854,775,807 | 設定快取結果的過期存留時間 (以秒為單位)。 |
| &gt; 9,223,372,036,854,775,807 | 與將變數設定為 30 相同。 |

DirectQueryResultCacheExpirySeconds=n;

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DirectQuery/internal-variables-direct-query.htm)

#### DirectQueryRowFetchMaxCount

使用 Direct Query 的大多數 圖 所擷取的最大資料列數預設值是由用戶端查詢所驅動，且範圍介於 256 到 1000 之間。例外情況是散佈圖，其預設最大值固定為 2500。這表示某些支援 Direct Query 的圖將不會顯示超過 n 個資料列結果，即使該圖內容的非限制 SQL 查詢會產生大於 n 個資料列也是如此。

The DirectQueryRowFetchMaxCount 指令碼變數的存在是為了允許增加或限制要在表格圖中顯示的最大資料列數，或將散佈圖上顯示的最大結果限制為小於預設最大值 2500。

資訊備註The value of DirectQueryRowFetchMaxCount 的值不會對 彙總 作業產生任何影響。

此外，DirectQueryRowFetchMaxCount 具有以下考量因素：

* The default value of DirectQueryRowFetchMaxCount 的預設值為 -1 (表示未使用)。

* 將指令碼變數 DirectQueryRowFetchMaxCount 設定為大於 0 的特定值，可允許填入表格圖的查詢從資料庫中擷取最多達 DirectQueryRowFetchMaxCount 個資料列，最高可達下表所示的最大值。

* 如果將 DirectQueryRowFetchMaxCount 設定為介於 0 和 2500 之間，則 DirectQueryRowFetchMaxCount 值也將用於限制為填入散佈圖而擷取的最大資料列數。

* 若要復原 DirectQueryRowFetchMaxCount 指令碼變數的影響，可以不定義該變數，或將其明確設定為 -1 值。

支援的變數值

| 值 | 描述 |
| --- | --- |
| 0 | 值 0 是一個特殊值，僅會影響表格圖資料列的擷取。此設定會動態分頁處理所有適用的資料列 (受選取項目影響) 以填入表格圖。分頁的總最大資料列數是透過執行初始計數查詢來確定的，以確定遠端資料庫將為表格的填入查詢傳回總共多少個資料列。<br><br>將此變數設定為 0 將會導致所有其他支援的 Direct Query 圖 (表格和散佈圖除外) 擷取其預設的用戶端指定最大資料列數。散佈圖將擷取其預設的最大 2500 個資料列。<br><br>資訊備註由於這會針對每次載入或選取執行兩次查詢而不是一次，因此在資料庫效能和成本方面可能會更昂貴。 |
| 1-100,000 | 設定要從遠端資料庫為表格或散佈圖擷取的最大資料列數。請注意，散佈圖絕不會擷取超過 2500 個資料列來顯示。 |
| &gt; 100,000 | 與將變數設定為 0 的效果相同。 |

DirectQueryRowFetchMaxCount=n;

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DirectQuery/internal-variables-direct-query.htm)

#### DirectQueryPreviewSql

此變數的預設值為 0。

將此變數設定為 &gt; 0 的值，可啟用要包含在 Direct Query 應用程式 載入資料 (重新載入) 動作輸出中的額外資訊。

額外資訊會顯示傳送到遠端資料庫的 SQL 查詢，以預覽表格自訂 SQL 定義的結果。此資訊有助於驗證、評估或精確調整自訂 SQL 陳述式結果預期。如需相關資訊，請參閱 DirectQueryPreviewResp 變數。

DirectQueryPreviewSql=1;

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DirectQuery/internal-variables-direct-query.htm)

#### DirectQueryPreviewResp

此變數的預設值為 0。

將此變數設定為 &gt; 0 的值，可啟用要包含在 Direct Query 應用程式 載入資料 (重新載入) 動作輸出中的額外資訊。

額外資訊會顯示傳送到遠端資料庫、與表格自訂 SQL 定義相關的 SQL 查詢結果。如需相關資訊，請參閱 DirectQueryPreviewSql 變數。

DirectQueryPreviewResp=1;