mysql冷熱資料LRU MySQL 優化

2021-10-20 22:57:41 字數 990 閱讀 7323

1.快取池

mysql的設計是通過快取池的方式的,也就是說將一部分的資料都儲存到記憶體中,當我們查詢乙個資料的時候,如果發現在快取池中的時候,就能夠直接的

從快取中獲取,如果不在的話,那麼就去磁碟中載入.所以建議資料庫伺服器採用64位的作業系統,這樣就能夠使用很大的記憶體。下面的一些引數是設定記憶體池

的:show variables like "innodb_buffer_pool_instances"

檢視快取池的個數,可以通過globle 或者直接在配置檔案中進行設定。

show variables like "innodb_buffer_pool_size"

檢視每個快取池的大小,查詢出來的是位元組。

需要注意,這個設定要考慮到自身伺服器的能力.

為了驗證快取的命中率,可以通過

show engine innodb status

其中有一行輸出非常重要,可以看出命中率:

buffer pool hit rate 1000 / 1000

表示的就是快取的命中率,一般不能低於95%

2.lru 列表

資料中快取中是通過lru的方式儲存中,也就是說查詢的最新資料是放在最前面的,也就是說是熱點資料,但是這個lru演算法有一些變種,具體的就是每次

查詢出來的資料並不是插入到最前面的位置,而是插入到中間,這個位置成為midpoint,預設的位置是3/5的位置,這樣做的原因是防止一些掃表的操作將

資料全部給重新整理出去,有幾個引數可以進行設定

show variables like "innodb_old_blocks_pct"

表示的就是midpoint的位置,預設的是:

還有乙個引數是

show variables like "innodb_old_blocks_time"

也就是資料插入到midpoint的時候,需要多久才起效。

如果在真實的環境中遇到熱點資料比較集中的情況下,可以通過設定lru的引數來防止熱點資料被刷出

3.索引

mysql 冷熱表 mysql 冷熱備份

文章 冷備份 off,慢,時間點上恢復 冷備份發生在資料庫已經正常關閉的情況下,當正常關閉時會提供給我們乙個完整的資料庫。冷備份是將關鍵性檔案拷貝到另外位置的一種說法。對於備份資料庫資訊而言,冷備份是最快和最安全的方法。冷備份的優點 1 是非常快速的備份方法 只需拷貝檔案 2 容易歸檔 簡單拷貝即可...

mysql冷熱分離的技術 資料歸檔,冷熱資料分離

一.關於tokudb引擎 1.tokudb引擎特點 2.tokudb安裝步驟 1.yum install jemalloc y 2.vim etc my.cnf 新增如下 mysqld safe malloc lib usr lib64 libjemalloc.so.1 3.echo never s...

mysql 冷熱備份

文章 冷備份 off,慢,時間點上恢復 冷備份發生在資料庫已經正常關閉的情況下,當正常關閉時會提供給我們乙個完整的資料庫。冷備份是將關鍵性檔案拷貝到另外位置的一種說法。對於備份資料庫資訊而言,冷備份是最快和最安全的方法。冷備份的優點 1 是非常快速的備份方法 只需拷貝檔案 2 容易歸檔 簡單拷貝即可...