段 Segment 的控制策略

2021-07-23 06:14:05 字數 582 閱讀 9451

在建立索引的時候對效能影響最大的地方就是在將索引寫入檔案的時候, 所以在具體應用的時候就需要對此加以控制: 

lucene預設情況是每加入10份文件(document)就從記憶體往index檔案寫入並生成乙個段(segment) ,然後每10個段(segment)就合併成乙個段(segment). 這些控制的變數如下: 

indexwriter屬性

預設值描述

mergefactory

10控制segment合併的頻率和大小

maxmergedocs

int32.maxvalue

限制每個segment中包含的文件數

minmergedocs

10當記憶體中的文件達到多少的時候再寫入segment

maxmergedocs用於控制乙個segment檔案中最多包含的document數.比如限制為100的話,即使當前有10個segment也不會合併,因為合併後的segment將包含1000個文件,超過了限制。

minmergedocs用於確定乙個當記憶體中文件達到多少的時候才寫入檔案,該項對segment的數量和大小不會有什麼影響,它僅僅影響記憶體的使用,進一步影響寫索引的效率。

表 Table 和段 Segment 之間的關係

表是段,但段不一定是表,段還有index段 undo段 分割槽之類的 具體如下 首先,要清楚它們的概念 表是邏輯物件 段是物理儲存物件 然後,再看它們之間的關係 段的存在,並不是依賴於表的。建立一些其它邏輯物件也會會建立段,如索引 物化檢視 一張普通表 堆組織表 對應乙個段 表的建立,並不意味著段的...

查詢Oracle資料庫段SEGMENT和物件大小

一 查詢段類別 select t.tablespace name,segment type,count 1 from user segments t where 1 1 group by t.tablespace name,t.segment type order by t.tablespace n...

擁塞控制策略

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!擁塞控制策略 刺蝟 tcp ip v1 中tcp的超時和重傳這章講得實在凌亂無比,再加之我們親愛的譯者同志翻譯的時候也按部就班地不幸地湊齊了字數,裡面很多概念看起來特別的晦澀難懂。這裡我參考了 tcp ip簇 關於tcp的相關章節,稍稍總結了下,方...