我有一個函數將傳遞一個包含MANY變量的對象。這些變量都存儲在數據庫中。稍後,一個新的對象將被傳遞給我的函數,大部分時間它將會是相同的。但有時一兩個變量會有所不同,我將不得不根據這些變化採取各種行動。除了遍歷每個變量並將其與該變量的每個存儲版本進行比較之外,我該如何做到這一點?我可以如何爲整個對象生成散列值?因爲如果傳遞給我的時間對象將是最相同的,這將是確定沒有任何變化的快速方法。比較對象變量並查找變化的最佳方法
0
A
回答
0
你寫過你將所有變量存儲在數據庫中,所以我認爲你應該儘可能少地調用數據庫。爲此,您可以編寫一個存儲過程,該行在將一行插入保存值的表中時調用。在此過程中,您可以計算散列值並更新表中添加的用於存儲散列值的列。您可以使用Oracle中的sys.dbms_crypto.hash
函數來計算散列值。如果需要搜索某個對象,請再次調用一個存儲過程,該過程輸入當前對象值的文本值,再次使用相同函數創建散列值並調用select語句,如果某行返回,則返回「 Y「,否則爲」N「。您可以將索引添加到「哈希值列」以使事情變得更快。
0
您可能會消耗盡可能多的資源,試圖確定是否有任何變化。除非您每小時收到數十萬條請求,否則每次更新數據庫時都可能很容易。
相關問題
- 1. 什麼是比較同類變量的最佳方法?
- 2. 本地化變量的最佳方法
- 3. 對象屬性比較,處理空檢查的最佳方法?
- 4. 初始化變化對象的最佳方法
- 5. 比較對象數組,最佳方式
- 6. 變量中的比較對象輸出
- 7. 面向對象的javascript中成員變量的最佳方法?
- 8. 在Javascript中查找全局變量的最佳方法
- 9. 在對象中訪問類變量的最佳方法?
- 10. Python,使用比較函數查找最佳對象
- 11. 比較對象及其成員變量
- 12. 在PowerShell中比較不同對象的最佳方法
- 13. iphone SDK:選擇兩個對象的最佳方法(作比較)
- 14. 在Java中比較變量的方法
- 15. 查找for循環中的最小值:如何初始化比較變量?
- 16. 最佳實踐 - 訪問對象變量
- 17. 比較對象的方法
- 18. 合併ActiveRecords對象的最佳方法?
- 19. 比較變量
- 20. 比較變量
- 21. 比較變量
- 22. 變量比較
- 23. 變量比較
- 24. 如何「比較並找到最佳的」最佳實踐
- 25. 最有效的方法來比較很多變量? C#
- 26. 比較枚舉的最佳方法
- 27. 查找方法對象變量或塊變量未在Excel中設置VBA
- 28. 什麼是使用大量變量更新域類對象的最佳方法
- 29. 比較-對象:PassThru參數改變輸入變量
- 30. 最佳(HEX)字符串比較方法
您是否正在實施自己的ORM?如果不是這樣,你可以在開源ORM的源代碼中找到答案。 –