MongoDB數據庫管理命令touch

MongoDB數據庫管理命令touchsql

 

在2.2版本新增長mongodb

 

touch命令從數據存儲層加載數據到內存中。touch能夠加載數據(如文檔)索引或文檔和索引。使用該shell

命令確保一個集合,和/或它的索引,在另外一個操做以前已經在內存中。經過加載集合或索引到內存中,數據庫

mongod能夠理想地更加有效地實施隨後的操做。touch命令有以下原型格式:  
ide

{ touch: [collection], data: [boolean], index: [boolean] }

 

默認,data和index爲false,touch將不會實施操做。例如,加載records集合的數據和索引,你將會在性能

mongo shell中使用以下命令:  
spa

db.runCommand({ touch: "records", data: true, index: true })

touch將不會阻塞一個mongod實例上的讀寫操做,能夠運行在複製集的輔助成員上。索引

 

考慮內存

 

性能影響文檔

 

使用touch來控制或調整mongod存儲在內存中的內容,能夠移走在內存中的其餘記錄數據並有礙性能。在

生產系統中當心使用。

 

複製和輔助成員

 

若是你在一個輔助成員上運行touch,輔助成員會進入RECOVERING狀態,在touch操做期間阻止客戶端發

送讀操做。當touch完成,輔助成員將會自動返回SECONDARY狀態。

 

存儲引擎

 

在版本3.0.0修改

 

若是當前的存儲引擎不支持touch,touch命令將會返回錯誤。

MMAPv1存儲引擎支持touch。

WiredTiger存儲引擎不支持touch。

 

參見:https://docs.mongodb.org/manual/reference/command/touch/

相關文章
相關標籤/搜索