如標題所說,資料庫A中的表TableA部分欄位值對應了資料庫B里的表TableB記錄
我現在的做法是先將TableA和TableB都取到兩個DataTable中,然后遍歷A的記錄在B中進行查找,這樣做下來感覺效率很低。
另外有一種思路是轉換成IQueryable,再用lamba運算式來做連接,不知道性能會不會有提升
uj5u.com熱心網友回復:
Sql Server 跨服務器連接uj5u.com熱心網友回復:
跟是 DataTable 還是 IQueryable<> 無關,主要是查詢程序中不要把無關的資料記錄讀取到客戶端來反序列化,否則幾乎所有時間都耗在通訊上了。uj5u.com熱心網友回復:
1、可以分別讀取不同資料庫的對應資料,在服務器的記憶體中對資料進行整理操作。(這個方式應該資料量較大的時候會有問題,而且其實效率不高,但是做法簡單)2、也可以sql陳述句連接其他資料庫進行查詢(陳述句怎么寫的百度下哈,我記得貌似有的),但是我覺得這個方式對我而言因為不常用到,沒有實際經驗。
uj5u.com熱心網友回復:
把其中一個資料拿出來,放另一個資料庫的零時表不好嗎?uj5u.com熱心網友回復:
如果資料量不大,那么全部取出來,再比較。沒什么問題。用DataTable和用List都行。當然List最好,DataTable不是不好,是該淘汰了。如果兩個表資料量都大,而最終比較后取的資料量比較小,那么建議用reader,讀取程序中比較和處理。
==========
最新文章:解讀經典《C#高級編程》 第四章之 泛型約束 https://mp.weixin.qq.com/s/ZHiaTpzBD-OdPs0Eo7iawQ
歡迎關注微信公眾號 “產品技術知與行” ,打造全面的結構化知識庫,包括原創文章、免費課程(C#,Java,Js)、技術專題、視野知識、原始碼下載等內容。
uj5u.com熱心網友回復:
資料庫A和資料庫B,是在一個服務器上嘛?如果是同一個mssql的兩個庫,那么直接跨表join就可以了。
[庫名].[dbo].[表名]
如果是兩個不同的服務器上,那么我記得sql也是有跨庫登錄陳述句的,登陸后還是可以跨庫查詢。
具體的你可以查一下。
實在不行,那就從兩個庫進過篩選條件,把資料讀取下來,然后在代碼里join
uj5u.com熱心網友回復:
