2012-04-11 206 views
0

我有超過10個數據庫具有相同的表但記錄不同。從多個數據庫搜索記錄

現在我想有一個可以搜索所有數據庫的搜索引擎。比方說,例如,我要通過姓或名搜索一個人,然後搜索必須轉到所有數據庫,查詢將搜索所有數據庫。

我該怎麼辦呢?..

你有示例代碼ASP.NET C#?謝謝!

+1

*您可能*不想遍歷所有數據庫的單個查詢,雖然在技術上這是可能的。爲什麼你不想用簡單的解決方案,只需依次打每個數據庫? – 2012-04-11 03:50:04

+0

,因爲它更高效,但我不知道該怎麼辦..我可以使用單個數據庫進行搜索,但不能使用多個。 – Dhenn 2012-04-11 03:52:34

+0

嗯,它更「高效」,但是你將所有RPC'ing卸載到數據庫服務器。通常最好讓你的應用程序服務器擁有該任務的所有權,這樣你就不會因爲多餘的相互通信而使數據庫負擔過重。無論如何,要進一步幫助你,你必須指定你的*特殊*數據庫。 – 2012-04-11 03:56:42

回答

1

@Dhenn喜在一個數據庫工會在10桌 創建一個視圖,你可以得到對

表1便捷的搜索是在數據庫1和表2是DATABASE2 然後

select * from database1.dbo.table1. 
union all 

select * from database2.dbo.table1. 

. 
. 
. 

其他選項,你可以從asp.net c# 10個數據庫中點擊10次,然後合併結果並在屏幕上顯示。

請參考this

+0

它只顯示數據庫中的表,它不顯示其他數據庫上的表 – Dhenn 2012-04-11 04:49:48

+0

只是一個小小的更正在查詢中應該是(database2.dbo.table2)在第二個聯合。從database1.dbo.table1中選擇*。 union all select * from database2.dbo.table1。 – Thakur 2012-04-11 05:14:03