2014-10-16 27 views
1

我在SAS企業指南6.1中通過ODBC分配給數據庫的libname。通過ODBC訪問在SAS指南中打開表格時使用的SQL查詢

如果在「服務器列表」面板中,我選擇附加到libname的表,並使用鼠標右鍵菜單打開它,我會得到可以瀏覽的結果表。

是否有可能以某種方式查看錶的打開發送到ODBC接口的SQL查詢?

加入1:

我想比較的性能運行proc sql查詢時: proc sql; select * from temp.cases (obs=100); quit;

開放與鼠標右鍵菜單與設置的值Tools > Options > Data > Performance > Maximum number of rows ...設置表時100

爲了能夠解釋性能的差異,我需要知道哪個查詢右鍵菜單使用表的開放使用。是讀全表,然後顯示100行,或只讀100行,然後顯示這100行。這兩種顯示數據的方式在性能上可能會有很大差異。

或者,是唯一的方法來查找打開數據查看處理ODBC查詢的服務器的日誌中使用的查詢?

加成2:

我不得不被一些字段的字符串長度,這成爲最大32767以上48串字段是48 * 32767中號每= 1.5一行造成的問題!顯然沒有字符串具有「記錄結束」標記,這導致了SAS Server和SAS Client之間的巨大數據流量。

將數據重新格式化爲僅具有最大255的字符串長度後,一行僅佔用48 * 255 = 12 k,這在速度上造成巨大差異,通過「打開」表查看數據時在SAS指南查看器!將相同的數據輸出到「SAS報告」時,未發現類似的性能損失。

+0

我想你是在正確的軌道上檢查運行查詢的數據庫服務器日誌。除了向SAS提供支持之外,我想不出其他任何方式。 – 2015-05-21 21:17:39

回答

1

我不確定有可能看到正在發生的SQL版本。由於它是SAS,因此它可能使用數據步驟或等同物來填充表格瀏覽(例如在數據步驟設置語句中使用obs =選項)。

但是,如果你只是想找到一個proc SQL的等價物。 outobs選項可能適合你。

proc sql outobs=10; 
create table temp2 as select * from temp; 
run; 
+0

其實,我正在'proc sql'中嘗試這個'outobs'選項,但是如果試圖從鼠標菜單打開表格,卻發現了不同的工作方式。 – Heikki 2014-10-21 20:30:17