舉例:有一張用戶表,一張水果表,一張用戶與水果的關(guān)系表,關(guān)系是一個用戶可以喜歡多種水果。當用戶在執(zhí)行添加操作時,我們是一次把用戶選擇的水果都加入到關(guān)系表中,但是在更新修改時,大家是怎么做的呢?一種方法是刪除該用戶之前喜歡的所有水果,把最新的全部重新加入關(guān)系表中;另一種方法是查詢出之前的,與最新的進行一一比對,如果新的沒有就刪除舊的,如果舊的沒有,就添加進去。大家的方法優(yōu)化方法是什么呢?
2 回答

灬紫羽
TA貢獻107條經(jīng)驗 獲得超71個贊
我最近剛解決一個類似的這樣問題,首先說說我的情況(一個app應(yīng)用表,一個設(shè)備表,一張關(guān)系表,一個app可以在多個設(shè)備上安裝),你說的上述兩種方法我也都測試過,也咨詢過開發(fā)時間比較長的老程序員;最后得到的結(jié)果就是,當數(shù)據(jù)量不太大的時候,刪除之前所有的關(guān)系,然后重新添加新的關(guān)系這樣效率高;但是如果數(shù)據(jù)表本身數(shù)據(jù)量較大的情況,最好還是一一比較,得到結(jié)果再刪除舊的添加新的。
個人拙見,求各位大神指導(dǎo)。

Caballarii
TA貢獻1123條經(jīng)驗 獲得超629個贊
在前段控制,只對用戶操作作出相應(yīng),比如用戶刪除了一個喜歡的,那就更新一條喜歡的,用戶更新了一個喜歡的,那就更新一條喜歡的。
添加回答
舉報
0/150
提交
取消