C#實現SQL全庫檢索資料

iSQlServer發表於2009-12-25
  為了專案的需要,往往需要知道一個值在哪幾個表裡出現過,進而分析這個程式的執行過程和處理邏輯。我們通常會使用SQL事件跟蹤器。這個工具也沒少用,但是在使用時經常對所跟蹤到的事件太多而感到應接不暇。

    於是,我做了一個給定一個值,可以查詢在任意表中任意欄位與此值相等的語句,指定對應的表和欄位,這樣的一個SQL全庫檢索工具。

    在第一版中,我使用的是DataAdapter+Datatable,此時查詢時耗時嚴重,從早上開始計算直到中午也只是在收集語句的階段!

    即使我換更高配置的伺服器來執行,提高三至五倍的速度,也幾乎無法忍受啊。於是重新修改程式碼,採用DataReader替換之前的DataAdapter+Datatable。當之前的那個程式還在執行的時候,這次居然只用了1分鐘左右就完成了收集語句的過程。

    接下來驗證語句的過程,也只花費了不到10分鐘的時間!

    注:我查詢的資料庫是SBO的資料庫,裡面有978個表,每個表多的有200多個欄位。這樣,收集的語句按平均每個表有150個欄位計算,也會達到146700條!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-623607/,如需轉載,請註明出處,否則將追究法律責任。

相關文章