我必須參加從多個數據庫查詢,類似的查詢:如何使從多個數據庫
SELECT T1.*, T2.* FROM DatabaseA.dbo.Table1 AS T1
INNER JOIN DatabaseB.dbo.Table2 AS T2 ON T1.ID = T2.ID
我的問題:
- 我應該如何設置的
System.Data.SqlClient.SqlConnection
連接字符串?我應該省略還是留空Initial Catalog
?我應該把它設置爲DatabaseA
? - 這是執行此任務的好方法嗎?我正在考慮準備第三個沒有表格的數據庫,但是用這個視圖
SELECT
(我不能在現有的數據庫中放置一個視圖)。查詢通常在10/15秒內執行,但用戶必須等待,所以即使少了幾秒鐘,也不會感激。
所有數據庫共享相同的登錄憑證。
是的,所有數據庫共享相同的登錄憑據。你認爲使用第三個數據庫有更好的視角(用於性能和設計)嗎? (查詢通常在10/15秒內執行,但用戶必須等待,因此即使少數幾秒鐘也不會被理解)。 – 2012-03-19 15:43:12
我不會建議創建第三個數據庫以僅包含視圖...每個創建的數據庫都有管理開銷,所以您應該儘可能地限制它。我會嘗試獲得在任一現有數據庫中創建視圖的權限......但是,除非您計劃對視圖建立索引,否則我認爲這不會提高查詢的性能。 – 2012-03-19 15:45:47
不幸的是,表格是相關的,但法律規定將它們分割到多個數據庫中(我感到很幸運,它們至少在同一臺服務器上)。視圖將被編入索引,但我會等待幾個月的反饋來調整它。謝謝,我想這就是全部! – 2012-03-19 15:56:50