不久前,我開(kāi)發(fā)了一個(gè) API,以使存儲(chǔ)在兩個(gè)不同系統(tǒng)中的記錄保持同步。它一直運(yùn)行良好,但是遇到了一個(gè)問(wèn)題,我要同步的新表有大量記錄。以下是基本前提。table1 和 table2 是反映我試圖保持同步的數(shù)據(jù)的結(jié)構(gòu)片段。這適用于大約 20,000 條記錄。但是我現(xiàn)在正在使用 200,000,這感覺(jué)效率不高,因?yàn)槲矣行У剡\(yùn)行每一行可能 200,000 次,這會(huì)導(dǎo)致數(shù)十億次循環(huán)。有沒(méi)有更有效的方法來(lái)實(shí)現(xiàn)這一目標(biāo)?for _, item1 = range table1 { for _, item2 = range table2 { if item1.id == item2.id { itemsAreEqual = reflect.DeepEqual(item1, item2) if !itemsAreEqual { //Update Stuff } } }}
搜索具有大量元素的切片
繁星點(diǎn)點(diǎn)滴滴
2022-05-10 16:21:33