Crystal Reports Designer  

將資料錄選擇下推至資料庫伺服器

加速報表處理最重要的一件事,就是限制從資料庫傳回的資料量。完成這項作業的主要工具就是資料錄選擇公式。

Crystal Reports for SQL 資料來源所提供的驅動程式允許將資料錄選擇「下推」至資料庫伺服器。當您根據 SQL 資料來源指定報表中的資料錄選擇公式時,Crystal Reports 會分析該資料、從中產生 SQL 查詢並將 SQL 查詢傳遞至資料庫伺服器。接下來資料庫選擇會在下列兩個階段中完成:

由於資料庫伺服器的速度通常比工作站快,因此您可以利用這個優點,指定在第一個階段即由伺服器處理資料錄選擇公式。這樣一來便可將第二個階段的本機資料錄選擇作業最小化。下列資料錄選擇種類可下推至伺服器:

下推資料錄選擇—範例說明

此範例將說明撰寫可下推至資料庫伺服器的資料錄選擇的好處。

在 Xtreme 資料庫範例中,訂貨主檔資料表中有 2,192 筆資料錄,其中 181 筆的訂貨日期在 2001 年之前。假設報表中只要這些資料錄。您可以使用這個資料錄選擇公式:

Year ({Orders.Order Date}) < 2001

產生的 SQL 查詢會將 2,192 筆資料錄全部傳給 Crystal Reports,然後資料錄選擇公式會將範圍縮小到 181 筆。若要查看這項作業,請按一下 [資料庫] 功能表上的 [顯示 SQL 查詢],並注意 SQL 查詢沒有 WHERE 子句。這是因為 Crystal Reports 無法下推 WHERE 子句中的 Year ( ) 函式。

在另一方面,這個資料錄選擇公式會產生相同的報表:

{Orders.Order Date} < #Jan 1, 2001#

但是第二個公式可在資料庫伺服器上執行,因此便可下推。產生的 SQL 查詢將只傳送 181 筆資料錄至 Crystal Reports。如此一來,當 Crystal Reports 驗算資料錄選擇公式後,便不需要再進一步刪去資料錄。按一下 [資料庫] 功能表上的 [顯示 SQL 查詢],並請注意產生的 SQL 查詢具有 WHERE 子句。

根據此範例的說明,當您增強您的資料錄選擇公式時,報表的處理速度將會變快。在這種情況下,上述兩個公式都會產生相同的報表,但第二個公式則運用了資料庫伺服器處理自己資料的功能和最佳化等優點。

資料錄選擇效能秘訣

設定資料錄選擇要求時,應考量下列效能方面的問題:

一般

SQL 資料庫

請參閱

基本資料錄選擇 | SQL 運算式