MySQL參數(shù)DELAY_KEY_WRITE的詳解
MySQL參數(shù)DELAY_KEY_WRITE的相關(guān)知識是本文我們主要要介紹的內(nèi)容,DELAY_KEY_WRITE是指在表關(guān)閉之前,將對表的update操作指跟新數(shù)據(jù)到磁盤,而不更新索引到磁盤,把對索引的更改記錄在內(nèi)存。這樣MyISAM表可以使索引更新更快。在關(guān)閉表的時候一起更新索引到磁盤。
使用:create table的時候,指定DELAY_KEY_WRITE。
當(dāng)表已經(jīng)存在的時候:ALTER TABLE table_name DELAY_KEY_WRITE= 1。
適用范圍:表有update操作,這個參數(shù)的優(yōu)勢會很好的體現(xiàn)出來。因為這個參數(shù)能延遲更新索引到表關(guān)閉。當(dāng)我們需要經(jīng)常跟新一個大表的時候,可以考慮使用這個參數(shù)。
說明:表關(guān)閉會在什么時候發(fā)生?你可以理解成當(dāng)flash table的時候,表將關(guān)閉。那么有2種情況將會發(fā)生flush table:
當(dāng)cache 滿了一個新的thread試圖打開一個表的時候,那個表沒有在cache;
當(dāng)cache里的表數(shù)比table_cache多時thread不在使用表;
這個2種情況將會flush table。
當(dāng)然,你也可以直接設(shè)置啟動參數(shù)flush_time ,設(shè)置每多少時間flush table一次。
需要注意的是:當(dāng)DELAY_KEY_WRITE使用的時候,如果出現(xiàn)重啟或者掉電等情況,會導(dǎo)致在cache的索引update沒來得及更新,所以必須在啟動參數(shù)加上 --myisam-recover,這樣在你啟動mysql的時候會檢查你的表并同步表和索引.或者在重啟服務(wù)器之前運行myisamchk。(然而,即使在這種情況下,應(yīng)通過使用DELAY_KEY_WRITE保證不丟失數(shù)據(jù),因為關(guān)鍵字信息總是可以從數(shù)據(jù)行產(chǎn)生)。如果你使用該特性,你應(yīng)用--myisam-recover選項啟動服務(wù)器,為所有MyISAM表添加自動檢查。
關(guān)鍵字:MySQL、參數(shù)、DELAY_KEY_WRITE
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動項
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機IP講解
- CentOS7使用hostapd實現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯
- 解決Centos7雙系統(tǒng)后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解