我在寫一個測試應用程序,它連接到一個SQL Server數據庫,裏面有兩個表。表1列出了具有非唯一鍵的數據,該鍵指向表2中的多行。目前我所做的是遍歷表1中的每條記錄,然後使用單獨的查詢從表2中獲取相關記錄。表2有超過2600萬條記錄,這個過程需要很長時間。表1中的數據可能只有幾百條記錄或者高達約100萬條記錄。ADO.NET SQL查詢加入?
有沒有加快數據訪問的方法?也許使用表連接來獲取一個查詢中的所有數據?還是其他什麼?
對不起,我不能發佈數據庫表或當前代碼,因爲我是NDA,因爲它是非常敏感的數據。無論如何,現在的代碼是無關緊要的,因爲我正在尋找一種全新的(更好的)方法。
請注意我在C#中使用.NET內的ADO。
編輯:我沒事做JOIN查詢,但更多問,如果這將是更有效的ADO?我知道它一般會更有效率,但不知道ADO是否可以處理這個問題。也正在尋找一些C#代碼來做到這一點。謝謝。
這很簡單;您可以在兩個表之間使用內部聯接運算符。另一方面,更糟糕的情況是您嘗試將100 * 2600萬行加載到內存中。您希望查詢總共返回多少行(您實際從Table2獲得多少行?) – dash 2012-02-21 09:11:53
表1中每個記錄的表2中可能會有大約8-10行。 – Jonnster 2012-02-21 09:32:26