{eval=Array;=+count(Array);}
mysql狀態(tài)sleep,其實就是空閑鏈接,剛剛執(zhí)行的操作已經(jīng)完成。
insert into table select * from table問題:將內(nèi)存中的數(shù)據(jù)寫入磁盤?
MySQL的操作,基本都是在內(nèi)存完成,至于執(zhí)行SQL會不會馬上刷盤,取決于mysql配置的innodb_flush_log_at_tx_commit 參數(shù)。來決定是否刷日志到磁盤,刷數(shù)據(jù)至磁盤。
0: log buffer將每秒一次地寫入log file中,并且log file的flush(刷到磁盤)操作同時進行.該模式下,在事務(wù)提交的時候,不會主動觸發(fā)寫入磁盤的操作,MySQL崩潰就會丟失1s的事務(wù),無法自動事務(wù)恢復(fù)。
1: 每次commit時,刷redo日志,確定fsync刷盤,刷新成功才會返回,崩潰,系統(tǒng)斷電都不會丟失事務(wù)。
2: 每次提交時,刷redo日志到文件系統(tǒng),不調(diào)用fsync刷盤,5.6.6之前是每隔1s刷盤,之后的版本是通過參數(shù)innodb_flush_log_at_timeout設(shè)置,默認也是1s如。果mysql崩潰,是可以自動事務(wù)恢復(fù)的,如果是系統(tǒng)斷電,會丟失1s事務(wù)。
0
回答0
回答0
回答0
回答0
回答0
回答6
回答0
回答0
回答0
回答