數據庫比較兩行數據區別的方法


比較兩行數據是否有變化 那幾個字段有變化

方法檢索a行數據 並且通過自關聯將b行數據的列檢索在a的右側如a.a,a.b,a.c, b.a,b.b, b.c

這樣子相互比較是只需要將 列1 + 全量 = b的列1好處是一次檢索就可以完成比較,不需要先檢索 a行 然后再檢索b行 在10w行數據的比較中速度可以提升很多(行數少的情況下隨意)

通用的比較方法是 先將USER_TAB_COLUMNS的列保存在一個數組中,
然后更具數組循環得出 檢索的sql。通過DBMS_SQL的方式打開游標,並且循環得出結果。

比較的時候只需要寫 一個循環 數組

DBMS_SQL.COLUMN_VALUE(V_CUSOR, I, V_FROM_VAL);

DBMS_SQL.COLUMN_VALUE(V_CUSOR, I + ARR.COUNT, V_TO_VAL);

這兩個取出來的值就是比較兩行數據的比較列。

實測在10w行數據的情況下,50列數據的比較並且登錄比較列的時間在2分鍾左右,測試系統為i3 windows 4gmem oracle11g


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM