不久前,我開發(fā)了一個(gè) API,以使存儲在兩個(gè)不同系統(tǒng)中的記錄保持同步。它一直運(yùn)行良好,但是遇到了一個(gè)問題,我要同步的新表有大量記錄。以下是基本前提。table1 和 table2 是反映我試圖保持同步的數(shù)據(jù)的結(jié)構(gòu)片段。這適用于大約 20,000 條記錄。但是我現(xiàn)在正在使用 200,000,這感覺效率不高,因?yàn)槲矣行У剡\(yùn)行每一行可能 200,000 次,這會導(dǎo)致數(shù)十億次循環(huán)。有沒有更有效的方法來實(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