InnoDB Insert(插入)操作(下)--mysql技術內幕,innodb--mysql

來源:互聯網
上載者:User

InnoDB Insert(插入)操作(下)--mysql技術內幕,innodb--mysql

接上一篇文章,最後做的那個實驗,我是想證明mysql innodb儲存引擎,commit操作與flush資料到磁碟之間的關係,當與同事交流之後,他說,你應該把innodb_buffer_size的大小考慮到裡面,其實我是有考慮的,在開始的部分就有做過假設,假如buffer大小為1G,資料大小為2G,那麼在進行事務插入操作時,勢必是要在commit操作之前,將快取資料進行寫入磁碟的吧。

再者而言,接上篇實驗,我分別進行了兩組,一組是進行了rollback操作,另外一組是進行了commit,發現,rollback的操作時間遠遠大於commit操作的。是否可以假象為,其實資料已經落盤,只不過在資料頁面上,存在一個事務標識符,實現事務的隔離機制,對於其他session不可見。而此時rollback操作就要把資料一條一條的從磁碟中清除,這個速度肯定會比較緩慢,當然這個刪除的機制,我還是不太清楚,是重新走一邊buffer,還是直接消失掉;而且,在進行了rollback操作之後,資料檔案大大小並沒有改變,是否可以假象為,曾經分配的物理空間,並沒有及時收回,以便下次重新利用。再說commit操作,它是在極短的時間內完成的,有可能的原因就是,這個操作只是把磁碟中資料頁上的事務標識資訊移除掉,就ok了。好吧,秉著嚴謹的實驗態度,再來進行一次實驗。(下班回去再做吧)

innodb_buffer_size= ,確保足夠新插入資料的緩衝。

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.