維護(hù)SQL全文索引的方式
應(yīng)該如何維護(hù)SQL全文索引呢?下面就為您介紹維護(hù)SQL全文索引的方式,供您參考,如果您對此有興趣的話,不妨一看。
維護(hù)SQL全文索引有三種方式:
完全重建
重新掃描所有行。徹底重建全文索引。既可以立即執(zhí)行完全重建,也可以通過 SQL Server 代理按調(diào)度進(jìn)行。
基于時(shí)間戳的增量重建
重新掃描那些從上一次完全重建或增量重建以來曾更改過的行。這樣做需要在表上有一 timestamp 列。不更新時(shí)間戳的更改(如 WRITETEXT 和 UPDATETEXT)是檢測不到的??梢粤⒓磮?zhí)行增量重建,也可以按調(diào)度進(jìn)行。
更改跟蹤
維護(hù)一份對索引數(shù)據(jù)的全部更改的列表。用 WRITETEXT 和 UPDATETEXT 進(jìn)行的更改是檢測不到的??梢杂眠@些更改立即更新SQL全文索引,也可以按調(diào)度進(jìn)行,或者使用后臺更新索引選項(xiàng)在更改一發(fā)生時(shí)便更新。
所使用的方法取決于許多因素,如 CPU 和可用的內(nèi)存、數(shù)據(jù)更改的數(shù)量和速度、可用磁盤空間的大小,以及當(dāng)前SQL全文索引的重要性等。以下建議可作為選擇維護(hù)方式時(shí)的參考。
當(dāng) CPU 和內(nèi)存不成問題,最新索引的值很高,且即時(shí)傳播可以跟得上更改的速度時(shí),使用帶后臺更新索引選項(xiàng)的更改跟蹤。
當(dāng) CPU 和內(nèi)存可以在調(diào)度時(shí)間使用,用于存儲更改的磁盤空間足夠大,且調(diào)度時(shí)間之間的變化并沒有大到使傳播所需的時(shí)間比完全重建更長時(shí),使用帶調(diào)度傳播的更改跟蹤。
如果大部分記錄的更改或添加是立即發(fā)生的,應(yīng)該使用完全重建。如果大部分記錄是在擴(kuò)展的時(shí)間段更改的,考慮使用帶調(diào)度或后臺更新索引的更改跟蹤。
如果每一次更改的文檔數(shù)目很多(并不是所占的百分比很高),可以使用增量重建。如果大量記錄的更改是在擴(kuò)展時(shí)間段發(fā)生的,考慮使用帶調(diào)度或后臺更新索引的更改跟蹤。
【編輯推薦】