我有一種情況,即在夜間更新CMS(Sitecore)中的大量內容,必須在其中更新大量數據但只適用少數更新(大約有320,000個潛在領域,估計其實際值可能是3000個)。我想簡化它,只有當新值與當前值不同時纔會進行更新。通過這種方式,我希望能夠最小化進行更新後發生的重新索引的數量,並儘量減少隨後發佈的內容數量。僅在新值與當前值不同時更新屬性
這是什麼,我現在在做
langItem.Fields["Type"].Value = updateNode.SelectSingleNode("./Type").InnerText;
一個例子,這就是我在尋找將其更改爲
if (langItem.Fields["Type"].Value != updateNode.SelectSingleNode("./Type").InnerText)
langItem.Fields["Type"].Value = updateNode.SelectSingleNode("./Type").InnerText;
我覺得應該有某種的運營商,這將爲我照顧這個。我不認爲有,但如果有,請讓我知道它是什麼。有很多XPath查詢(我的所有數據都是XML),我覺得重複它們是浪費的,但爲它們創建變量也看起來很糟糕。此外,還有一些右手邊涉及方法調用的示例。我認爲在這些情況下爲結果創建變量是有道理的。
有哪些其他優化方法?
有沒有辦法暫停重新索引? –
@GertArnold我已經暫停了重新索引,但是一旦對數據進行了索引編制的更改。也就是說,您可以延遲重新索引,直到完成所有更新以加速更新過程,但數據需要在某個時間索引。 –