我有一個執行連接到數據庫的報告,用戶名爲my_report_user
。報告中可能有許多最終用戶。並在每次執行一個新的連接到數據庫將與my_report_user
(沒有連接池)本地vs全球臨時表 - 什麼時候使用?
我有一個結果集,我認爲可以只創建一次(可能是在第一次運行的報告)其他報告執行可以重複使用這些東西。基本上每個報告執行應檢查此結果集(存儲爲臨時表)是否存在。如果它不存在,則創建該結果集,然後重新使用可用的。
我應該使用local
臨時表(#)或global
臨時表(##)?
有沒有人試過這樣的東西,如果是的話,請讓我知道我應該關心什麼東西? (幾乎同時報告運行等)
編輯:我使用的SQL Server 2005中
什麼版本的SQL Server?如果2005+,CTE(也可能是遞歸CTE)是另一種選擇。如果不瞭解更多有關您需要如何處理它們的信息,我推薦使用本地全局臨時表...... – 2009-10-20 17:44:58
做出最壞情況的假設:全局臨時表不會因爲連接仍然存在而丟失,該表中的數據失效?即定義何時必須刷新數據以避免報告中的錯誤數據? – 2009-10-20 17:48:04
其sql-server 2005.你確定本地臨時表允許我重新使用。我在考慮本地臨時表將不允許跨多個報告執行的可重用性。現在知道這個版本,你說什麼? – peakit 2009-10-20 17:48:35