亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【percona-toolkit手冊】pt-archiver數據歸檔

發布時間:2020-06-27 07:30:36 來源:網絡 閱讀:5358 作者:對唔住 欄目:MySQL數據庫

pt-archiver

  1. 簡介
    MySQL表中的部分行存檔到另外的表或者文件中
  2. 概要
    1.用法:
    pt-archiver [可選項] --source DSN --where WHERE
    2.詳細介紹
    本著在OLTP環境中可以盡量少影響查詢性能的目的,我將這個工具設計可以在低性能影響,正向性
    的情況下將數據小批量小批量的將舊數據取出并歸檔。
    本工具依靠插件式的原理實現了可擴展性,各位可以對此工具進行增加更本地化的功能,例如擴展
    更加復雜的規則,或者邊抽取數據邊創建數據倉庫。
    技巧:找到第一行,然后根據某些索引向后查找更多行的數據,包含在命令最后面的where段中的條件
    應當可以依靠索引查找所滿足的數據,而不是靠掃描整個表。
    可以在--source聲明中指定 i參數(index),這對于想要根據索引獲取數據行的操作非常關鍵。
    使用--dry-run聲明此次工具執行后只生成對應的SQL語句,而不真正操作數據,接著對生成的
    SQL語句進行explain操作,檢查其索引使用情況。更進一步可以檢查語句執行過程中的句柄操作類型
    確保語句沒有進行全表掃描(句柄操作類型:read,read_rnd_next,delete等等底層原子性操作)

  3. 參數
    注意:
    至少要指定--dest,--file,或者--purge參數
    --ignore--replace 互斥
    --txn-size--commit-each 互斥
    --low-priority-insert--delay-insert 互斥
    --share-lock--for-update 互斥
    --analyze--optimize 互斥
    --no-ascend--no-delete 互斥
    如果在COPY模式下,--dest的參數值默認繼承--source參數的值
    --analyze
    在傳輸完數據后,運行ANALYZE TABLE進行優化表的索引信息。
    --analyze=d 優化dest表索引信息
    --analyze=s 優化source表索引信息
    --analyze=ds 優化源表與目標表的索引信息
    --no-ascend
    不使用遞增索引優化特性
    默認情況下,pt-archiver工具使用遞增索引特性優化批量重復的select操作,即:下一批數據歸檔時將
    從上一批歸檔結束時索引的位置開始,不需要再從頭掃描到自己需要歸檔的位置,但在多列復合索引
    的情況下可能效果降低
    --ascend-first
    僅使用復合索引的第一列進行遞增優化,與上面的參數有關,在復合索引或者where條件復雜的情況
    下,僅使用的復合索引的第一列進行遞增優化,比上面的完全不使用遞增索引優化特性方法更好
    --ask-pass
    采用交互的方式輸入密碼,防止身后的開發與測試窺屏
    --buffer
    禁用自動刷新緩存到--file參數指定的的文件,將結果集存在操作系統緩存中,提交的時候刷新緩存。
    (原本是每行都會刷新一次到文件)。但使用操作系統緩存是個不可靠因素,可能會導致意外丟失
    數據。
    當--buffer在5-15%的左右時,可以提升本工具的性能
    --txn-size
    指定一個事務處理多少行數據,默認1。設成0,不使用批量特性,自動提交事務。
    當工具處理完設定行數的數據時,同時對源庫和目標庫進行事務提交,然后刷新到--file參數指定
    的文件中這個參數對源庫性能的影響比較大,對繁忙的線上OLTP服務器進行歸檔時,要兼顧數據
    抽取性能和事務提交性能。提高本參數值可以提高數據抽取性能,但會導致行鎖范圍擴大,甚至
    死鎖。減小本參數值可以緩解以上情況,但是過小會導致事務提交量增大,對線上業務的提交性
    能有影響。
    作者親測:在PC上,設置為500時,每1K行只用了2秒的時間,但設為0,自動提交時,則每1K行
    花費了將近38秒。使用非事務型引擎,推薦設成0。
    --commit-each
    每一組數據提交一次,并自動屏蔽--txn-size參數。可以使用--limit控制總的操作的行數。
    假如要存檔一個特別大的表,--limit=1000--txn-size=1000同時使用時,工具開啟一個事務連
    續讀到了所有滿足where的999行數據,但是由于工具本身并不知道究竟有多少數據滿足,有可能
    會一直全表掃描到最后一行然后才會提交這個事務,因此,使用 --commit-each參數每一組提交
    一次可以有效避免上面的窘境。
    --bulk-delete
    批量刪除,一批數據行用一個DELETE語句完成。同時也意味著--commit-each
    通常刪除數據的做法是根據主鍵進行逐行刪除,批量刪除在簡單WHERE條件下速度會有顯著的
    提高。
    此選項會在收集完所有待刪除的數據行前,推遲刪除操作。如果有刪除前的觸發器將不會被觸發
    (before delete),多行刪除前的觸發器會被觸發(before bulk delete)
    --[no]bulk-delete-limit
    批量刪除限制,默認開啟
    默認情況下,--bulk-delete參數會追加一個--limit參數,在部分情況下,可以使用
    --no-bulk-delete-limit忽略掉,但仍需手動加上--limit參數。此參數不建議使用
    --bulk-insert
    采用LOAD DATA INFILE的方式(與bulk-delete和commit-each組合使用)
    相比一行一行的插入,通過為每批數據創建臨時文件,先行寫入數據到臨時文件,當一批數據獲
    取完畢后,再進行導入操作。
    為了防止一行一行的刪除數據時,但這些數據卻因為在緩存文件中沒有真正的歸檔在新的數據庫
    中,造成數據真空甚至不確定情況下的數據丟失,采用--bulk-insert的時候必須與bulk-deletes
    成對出現,保證數據在被插入新庫之前,舊庫不會對這些數據進行刪除。
    此參數可以與--low-priority-insert,--replace,,
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永川市| 大余县| 汶川县| 体育| 贺兰县| 孟村| 泾阳县| 永顺县| 桂阳县| 瑞安市| 西城区| 化隆| 抚顺县| 津南区| 禄丰县| 常熟市| 留坝县| 舟山市| 新兴县| 萨嘎县| 漠河县| 郓城县| 墨脱县| 金昌市| 运城市| 固安县| 铁岭市| 义乌市| 瓦房店市| 新绛县| 中西区| 米脂县| 兴文县| 分宜县| 翼城县| 屯门区| 蕲春县| 富锦市| 乐业县| 抚顺市| 祁阳县|