婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Mysql在線回收undo表空間實戰記錄

Mysql在線回收undo表空間實戰記錄

熱門標簽:福建外呼系統定制化 銅陵防封電銷卡 電銷卡外呼系統供應商 騰訊地圖標注提升 怎么在地圖標注位置生成圖片 美國反騷擾電話機器人 真人語音電話機器人 悟空科技電話機器人 400電話可以免費申請嗎

1 Mysql5.6

1.1 相關參數

MySQL 5.6增加了參數innodb_undo_directory、innodb_undo_logs和innodb_undo_tablespaces這3個參數,可以把undo log從ibdata1移出來單獨存放。

  • innodb_undo_directory:指定單獨存放undo表空間的目錄,默認為.(即datadir),可以設置相對路徑或者絕對路徑。該參數實例初始化之后雖然不可直接改動,但是可以通過先停庫,修改配置文件,然后移動undo表空間文件的方式去修改該參數。

默認參數:

mysql> show variables like '%undo%';
+-------------------------+-------+
| Variable_name      | Value |
+-------------------------+-------+
| innodb_undo_directory  | .   |
| innodb_undo_logs    | 128  |
| innodb_undo_tablespaces | 0   |
+-------------------------+-------+
  • innodb_undo_tablespaces:指定單獨存放的undo表空間個數,例如如果設置為3,則undo表空間為undo001、undo002、undo003,每個文件初始大小默認為10M。該參數我們推薦設置為大于等于3,原因下文將解釋。該參數實例初始化之后不可改動

實例初始化是修改innodb_undo_tablespaces:

mysql_install_db ...... --innodb_undo_tablespaces

$ ls
...
undo001 undo002 undo003
  • innodb_rollback_segments:默認128個。每個回滾段可同時支持1024個在線事務。這些回滾段會平均分布到各個undo表空間中。該變量可以動態調整,但是物理上的回滾段不會減少,只是會控制用到的回滾段的個數。

1.2 使用

初始化實例之前,我們只需要設置innodb_undo_tablespaces參數(建議大于等于3)即可將undo log設置到單獨的undo表空間中。如果需要將undo log放到更快的設備上時,可以設置innodb_undo_directory參數,但是一般我們不這么做,因為現在SSD非常普及。innodb_undo_logs可以默認為128不變。

undo log可以存儲于ibdata之外。但這個特性依然雞肋:

  • 首先你必須在install實例的時候就指定好獨立Undo tablespace, 在install完成后不可更改。
  • Undo tablepsace的space id必須從1開始,無法增加或者刪除undo tablespace。

1.3 大事務測試

mysql> create table test.tbl( id int primary key auto_increment, name varchar(200));
Query OK, 0 rows affected (0.03 sec)

mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)

mysql> insert into test.tbl(name) values(repeat('1',00));
Query OK, 1 row affected (0.00 sec)

mysql> insert into test.tbl(name) select name from test.tbl;
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0

...

mysql> insert into test.tbl(name) select name from test.tbl;
Query OK, 2097152 rows affected (24.84 sec)
Records: 2097152 Duplicates: 0 Warnings: 0

mysql> commit;
Query OK, 0 rows affected (7.90 sec)

觀察undolog已經開始膨脹了!事務commit后空間也沒有回收。

$ du -sh undo*
10M  undo001
69M  undo002
10M  undo003

2 Mysql5.7

5.7引入了在線truncate undo tablespace

2.1 相關參數

必要條件:

  • innodb_undo_tablespaces:最少有兩個,這樣一個在清理的時候可以使用另一個,該參數實例初始化之后不可改動
  • innodb_rollback_segments:回滾段的個數,總會有一個回滾段分配給系統表空間,32個保留給臨時表空間。所以如果想使用undo表空間的話,這個值要至少為33。例如使用兩個undo表空間,這個值就配35。如果設置多個undo表空間,系統表空間中的回滾段會變成非活躍狀態。

啟動參數:

  • innodb_undo_log_truncate=on
  • innodb_max_undo_log_size:超過這個值的表空間會標記為truncate,動態參數默認是1G
  • innodb_purge_rseg_truncate_frequency:指定purge操作被喚起多少次之后才釋放rollback segments。當undo表空間里面的rollback segments被釋放時,undo表空間才會被truncate。由此可見,該參數越小,undo表空間被嘗試truncate的頻率越高。

2.2 清理過程

  1. undo表空間大小超過innodb_max_undo_log_size后,標記該表空間需要清理。標記會循環進行,避免一個表空間被反復清理。
  2. 標記表空間內的回滾段變為非活躍狀態,正在運行的事務等待執行完。
  3. 開始purge
  4. 釋放undo表空間中的所有回滾段后,運行truncate并將undo表空間截斷為其初始大小,初始大小由innodb_page_size決定,默認16KB的大小對應表空間為10MB
  5. 重新激活回滾段,以便將它們分配給新事務

2.3 性能建議

truncate表空間時避免影響性能的最簡單方法是增加撤消表空間的數量

2.4 大事務測試

配置8個undo表空間,innodb_purge_rseg_truncate_frequency=10

mysqld --initialize ... --innodb_undo_tablespaces=8

開始測試

mysql> show global variables like '%undo%';
+--------------------------+------------+
| Variable_name      | Value   |
+--------------------------+------------+
| innodb_max_undo_log_size | 1073741824 |
| innodb_undo_directory  | ./     |
| innodb_undo_log_truncate | ON     |
| innodb_undo_logs     | 128    |
| innodb_undo_tablespaces | 8     |
+--------------------------+------------+

mysql> select @@innodb_purge_rseg_truncate_frequency;
+----------------------------------------+
| @@innodb_purge_rseg_truncate_frequency |
+----------------------------------------+
|                   10 |
+----------------------------------------+

select @@innodb_max_undo_log_size;
+----------------------------+
| @@innodb_max_undo_log_size |
+----------------------------+
|          10485760 |
+----------------------------+

mysql> create table test.tbl( id int primary key auto_increment, name varchar(200));
Query OK, 0 rows affected (0.03 sec)

mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)

mysql> insert into test.tbl(name) values(repeat('1',00));
Query OK, 1 row affected (0.00 sec)

mysql> insert into test.tbl(name) select name from test.tbl;
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0

...

mysql> insert into test.tbl(name) select name from test.tbl;
Query OK, 2097152 rows affected (24.84 sec)
Records: 2097152 Duplicates: 0 Warnings: 0

mysql> commit;
Query OK, 0 rows affected (7.90 sec)

undo表空間情況,膨脹到100MB+后成功回收

$ du -sh undo*
10M    undo001
10M    undo002
10M    undo003
10M    undo004
10M    undo005
10M    undo006
125M   undo007
10M    undo008

$ du -sh undo*
10M    undo001
10M    undo002
10M    undo003
10M    undo004
10M    undo005
10M    undo006
10M    undo007
10M    undo008

3 Reference

https://dev.mysql.com/doc/ref...

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • MySQL 清除表空間碎片的實例詳解
  • 解析mysql 表中的碎片產生原因以及清理
  • MySQL的表空間是什么
  • Mysql臟頁flush及收縮表空間原理解析
  • MySQL InnoDB表空間加密示例詳解
  • 深度解析MySQL 5.7之臨時表空間
  • mysql Innodb表空間卸載、遷移、裝載的使用方法
  • MySQL中查詢所有數據庫占用磁盤空間大小和單個庫中所有表的大小的sql語句
  • MySQL 表空間碎片的概念及相關問題解決

標簽:臨汾 湖北 烏海 湖南 武威 白銀 云浮 聊城

巨人網絡通訊聲明:本文標題《Mysql在線回收undo表空間實戰記錄》,本文關鍵詞  Mysql,在線,回收,undo,表,空間,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mysql在線回收undo表空間實戰記錄》相關的同類信息!
  • 本頁收集關于Mysql在線回收undo表空間實戰記錄的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    一区二区高清免费观看影视大全| 亚洲成a人v欧美综合天堂| 欧美成人国产一区二区| 最近中文字幕一区二区三区| 国产精品自拍av| 亚洲色图视频网站| 久久久久国色av免费看影院| 欧美久久久久中文字幕| 国产成人自拍网| 日韩精品一级中文字幕精品视频免费观看| 亚洲专区一二三| 日本一区二区三区四区| 国产一区二区看久久| 日韩国产一二三区| 亚洲国产一二三| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 精品成人一区二区| 日韩午夜激情视频| 欧美一级理论片| 日韩视频免费直播| 欧美猛男男办公室激情| 欧美亚一区二区| 在线精品视频一区二区三四| 91视频91自| 一本大道av一区二区在线播放| 国产91丝袜在线18| 成人网男人的天堂| 国产精品动漫网站| 亚洲欧洲综合另类在线| 亚洲美女淫视频| 一区二区三区四区不卡视频| 亚洲一区二区影院| 日韩精品欧美精品| 韩国av一区二区三区在线观看| 国内外成人在线| 岛国精品在线观看| 99久久久久久| 欧美性一二三区| 91麻豆精品国产91久久久久久久久| 在线播放亚洲一区| 日韩欧美第一区| 91啪九色porn原创视频在线观看| 91久久国产最好的精华液| 在线播放视频一区| 精品第一国产综合精品aⅴ| 国产免费成人在线视频| 国产精品电影一区二区三区| 日韩电影一区二区三区四区| 美国毛片一区二区三区| 国产精品99久久久久| 在线影院国内精品| 日一区二区三区| 95精品视频在线| 亚洲一二三四区| 欧美性色黄大片| 久久成人免费网站| 欧美三区免费完整视频在线观看| 久久久久久久久久久黄色| 婷婷六月综合网| 欧美大片一区二区| 蜜臀久久99精品久久久画质超高清 | www一区二区| 久久九九久久九九| 亚洲一二三四在线观看| 亚洲一区二区av在线| 性做久久久久久免费观看| www.综合网.com| 色视频欧美一区二区三区| 日韩一级视频免费观看在线| 精品999在线播放| 亚洲午夜精品网| 久久精品99国产精品| 91视视频在线直接观看在线看网页在线看| 综合色天天鬼久久鬼色| 欧美一区二区精品久久911| 亚洲欧美自拍偷拍| 成人av电影在线网| 欧美精品一区二区久久久| 欧美经典一区二区| 国产凹凸在线观看一区二区| 久久亚洲一区二区三区四区| 亚洲乱码国产乱码精品精小说| 国产mv日韩mv欧美| 成人动漫一区二区| 制服丝袜亚洲色图| 国产精品嫩草久久久久| 亚洲自拍偷拍欧美| 国产伦精品一区二区三区免费迷| 色域天天综合网| 亚洲精品综合在线| 国产精品久久久久三级| 天天操天天色综合| 国产高清精品久久久久| 欧美日韩大陆一区二区| 国产精品欧美精品| 美女视频免费一区| 欧美日韩一区二区三区免费看 | 欧美日本一区二区三区四区| zzijzzij亚洲日本少妇熟睡| 久久精品综合网| 性做久久久久久久免费看| 粉嫩一区二区三区性色av| 欧美一区二区不卡视频| 日韩av不卡在线观看| 日本高清成人免费播放| 一区二区三区四区高清精品免费观看 | 成人免费高清在线| 国产女主播在线一区二区| 2023国产精品| 懂色av一区二区三区免费观看| 91精品国产综合久久精品麻豆 | 亚洲永久精品国产| va亚洲va日韩不卡在线观看| 久久久久综合网| 日韩不卡手机在线v区| 555夜色666亚洲国产免| 亚洲成av人综合在线观看| 91丨九色丨蝌蚪富婆spa| 国产性天天综合网| 国产乱码字幕精品高清av| 欧美日韩国产一区二区三区地区| 一区二区免费在线| 亚洲日本va在线观看| 在线不卡一区二区| 91精品国产综合久久精品app | 国产老妇另类xxxxx| 国产老肥熟一区二区三区| 成人免费观看男女羞羞视频| 99久久精品免费看| 91网站黄www| 欧美日韩免费不卡视频一区二区三区| 91福利国产成人精品照片| 色综合久久久久久久久久久| 国产老妇另类xxxxx| 国产mv日韩mv欧美| 91免费视频网址| 日韩一级二级三级| 一区二区三区四区不卡在线| 欧美国产丝袜视频| 精品日韩一区二区| 久久嫩草精品久久久精品一| 国产偷国产偷精品高清尤物| 久久超级碰视频| 欧美一区二区三区在线观看视频| 亚洲第一电影网| 亚洲国产精品久久艾草纯爱| 日本免费在线视频不卡一不卡二 | 欧美亚洲日本一区| 一区二区三区免费在线观看| 久久午夜免费电影| 日本不卡免费在线视频| 国产精品福利av| 337p亚洲精品色噜噜狠狠| 国产片一区二区| 中文字幕亚洲区| 国产成人精品免费在线| 国产精品一区二区x88av| 8v天堂国产在线一区二区| 日韩亚洲国产中文字幕欧美| 亚洲美女视频在线观看| 精品午夜久久福利影院| 91精品欧美福利在线观看| 国产精品麻豆欧美日韩ww| 激情丁香综合五月| 91.麻豆视频| 青青草97国产精品免费观看 | 日韩视频一区二区在线观看| 中文字幕亚洲精品在线观看| 国产一区二区三区观看| 国产三级久久久| 99这里只有精品| 国产一区二区免费在线| 国产亚洲一区字幕| 在线综合亚洲欧美在线视频| 中文字幕第一区综合| 一本色道久久综合精品竹菊| 欧美经典一区二区| 精品久久一区二区三区| 亚洲二区视频在线| 久久精品99久久久| 亚洲精品视频在线看| 中文字幕一区二区三区色视频| 91精品国产综合久久精品app| 91一区二区三区在线观看| 国产精品香蕉一区二区三区| 亚洲成人动漫在线观看| 国产精品美日韩| 精品国精品自拍自在线| 国产精品99久久久久久久vr| 欧美视频在线观看一区二区| 久久99精品久久久久久| 国产精品国产三级国产aⅴ原创 | 欧美一级高清片| 成人激情av网| 国产乱妇无码大片在线观看| 午夜精品久久久久久久久| 国产三级一区二区| 日韩午夜激情免费电影| 欧美专区在线观看一区| 91首页免费视频|