快速檢查一組CODE的存在性

方法1 使用臨時表
將所有待檢查的CODE存到臨時表中,然後通過SQL選擇出所有不存在的CODE。
優點:(沒體會)。
缺點:往臨時表中插數據也會消耗掉很多性能,不能將不合法的數據登錄到臨時表,以防發生異常。加重數據庫服務器的負荷。

方法2 不使用臨時表
1. 循環待檢查的CODE,緩存到Hashtable(Key是CODE;文件導入的場合,Value是行數,反之爲空)中,並組成查詢用的IN字符串。
2. 執行查詢,取得所有存在的CODE。
3. 如果存在的CODE數和待檢查的CODE數一致,說明所有CODE都存在。否則繼續篩選不存在的CODE。
4. 循環存在的CODE,如果CODE在Hashtable中也存在,就將該CODE從Hashtable中刪除,反之保留。
5. 凡是Hashtable中未被刪除的CODE,就是DB中不存在的CODE了。
優點:利用了應用服務器,減輕數據庫服務器的負荷。
缺點:(體會中)。
發佈了46 篇原創文章 · 獲贊 9 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章