資料庫學習之為什麼mysql會出現」抖「一下的情況

2021-10-04 18:04:42 字數 739 閱讀 7177

1 」抖「一下情況,是什麼樣子

一條sql語句,正常執行的時候特別塊,但是有時候不知道為什麼會變得特別慢

2 」髒頁「和」乾淨頁「

在將redo log的理論理解過程中,我們把redo log這個位置,理解為黑板。把磁碟這個位置理解為賬本。先寫黑板,在寫賬本,先後過程,所以肯定存在資料的不一致。因此,

」髒頁「:當記憶體中的資料頁與磁碟中的資料頁不一致

」乾淨頁「:當記憶體中的資料頁與磁碟中的資料頁一致

3 flush(刷髒頁)操作

把記憶體中的髒頁資料寫入磁碟的過程

4 什麼時候會觸發刷髒頁操作

黑板滿了,記不下了。即:redo log寫滿了,這是系統會停止所有的更新操作,對髒頁驚醒flush,為redo log騰出空間

記憶體不足。淘汰最久未使用的資料頁,倘若該資料資料頁是乾淨頁,則直接騰出空間; 倘若該資料頁是髒頁,則先進行flush,再騰出空間

系統空閒時。直接進行flush

mysql正常關閉,將記憶體中的髒頁都進行flush

5 innodb刷髒頁的控制策略

首先,需要正確的告訴innodb所在的主機的io能力,這樣innodb才能知道需要全力刷髒頁時,可以刷多塊

其次,需要考慮兩個會影響flush的因素。分別是:髒頁比列和redo log寫盤速度。通過計算的到髒頁比列和redo log寫盤速度兩個具體對應的值,取其中較大的值r,之後引擎就可以按照innodb_io_capacity定義的能力乘以%來控制刷髒頁的速度。(< 75%)

為什麼要選擇MySQL資料庫

什麼是mysql?mysql是乙個多使用者 多執行緒的sql資料庫,是乙個客戶機 伺服器結構的應用,它由乙個伺服器守護程式mysqld和很多不同的客戶程式和庫組成。sql structured query language結構化查詢語言 是目前使用最廣的並且是標準的資料庫語言。sql語言使得訪問或更...

Git學習系列之為什麼選擇Git?

為什麼選擇git?流行的軟體版本開源管理軟體,有cvs svn git版本管理工具,git的優勢在 呢?git 和 cvs svn不同,是乙個分布式的源 管理工具,它很強,也很快,linux核心的 就是用git管理的,它給我們帶來的直接好處有 1.初始化,git init,git commit a,...

Git學習系列之為什麼選擇Git?

為什麼選擇git?流行的軟體版本開源管理軟體,有cvs svn git版本管理工具,git的優勢在 呢?git 和 cvs svn不同,是乙個分布式的源 管理工具,它很強,也很快,linux核心的 就是用git管理的,它給我們帶來的直接好處有 1.初始化,git init,git commit a,...