怎樣理解innodb_flush_log_at_trx_commit參數(shù),相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
10年積累的成都做網(wǎng)站、成都網(wǎng)站制作經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有寧洱免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
當這個參數(shù)被設置為0,日志緩沖每秒一次地被寫到日志文件,并且對日志文件做到磁盤操作的刷新,但是在一個事務提交不做任何操作。當這個值為1(默認值)之時,在每個事務提交時,日志緩沖被寫到日志文件,對日志文件做到磁盤操作的 刷新。
當設置為2之時,在每個提交,日志緩沖被寫到文件,但不對日志文件做到磁盤操作的刷新。MySQL在對日志文件的刷新每秒發(fā)生一次。我們必須注意到,因為進程安排問題,每秒一次的刷新不是100%保證每秒都發(fā)生。你可以通過設置這個值不為1來獲得較好的性能,
但隨之你會在一次崩潰中損失二分之一價值的事務。如果你設置這個值為0,那么任何mysqld進程的崩潰會刪除崩潰前最后一秒的事務,如果我們設置這個值為2,那么只有操作系統(tǒng)崩潰或掉電才會刪除最后一秒的事務。
盡管如此,InnoDB的崩潰恢復不受影響,而且因為這樣崩潰恢復開始作用而不考慮這個值。注意,許多操作系統(tǒng)和一些磁盤硬件會欺騙刷新到磁盤操作。盡管刷新沒有進行,你可以告訴mysqld刷新已經(jīng)進行。
即使設置這個值為1,事務的持久程度不被保證,且在最壞情況下掉電甚至會破壞InnoDB數(shù)據(jù)庫。在SCSI磁盤控制器中,或在磁盤自身中,使用有后備電池的磁盤緩存會加速文件 刷新并且使得操作更安全。你也可以試著使用Unix命令hdparm來在硬件緩存中禁止磁盤寫緩存,
或使用其它一些對硬件提供商專用的命令。這個選項的 默認值是1。
該參數(shù)簡單歸納如下:
參數(shù)innodb_flush_log_at_trx_commit:
=0 :每秒 write os cache & flush disk
=1 :每次commit都 write os cache & flush disk
=2 :每次commit都 write os cache,然后根據(jù)innodb_flush_log_at_timeout參數(shù)(默認為1s) flush disk
看完上述內(nèi)容,你們掌握怎樣理解innodb_flush_log_at_trx_commit參數(shù)的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當前標題:怎樣理解innodb_flush_log_at_trx_commit參數(shù)
轉載來于:http://aaarwkj.com/article44/peihee.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設、營銷型網(wǎng)站建設、標簽優(yōu)化、網(wǎng)站設計、建站公司、關鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)