pt-archiver
概要
1.用法:pt-archiver [可选项] --source DSN --where WHERE
2.详细介绍
本着在OLTP环境中可以尽量少影响查询性能的目的,我将这个工具设计可以在低性能影响,正向性
的情况下将数据小批量小批量的将旧数据取出并归档。
本工具依靠插件式的原理实现了可扩展性,各位可以对此工具进行增加更本地化的功能,例如扩展
更加复杂的规则,或者边抽取数据边创建数据仓库。
技巧:找到第一行,然后根据某些索引向后查找更多行的数据,包含在命令最后面的where段中的条件
应当可以依靠索引查找所满足的数据,而不是靠扫描整个表。
可以在--source
声明中指定 i参数(index),这对于想要根据索引获取数据行的操作非常关键。
使用--dry-run
声明此次工具执行后只生成对应的SQL语句,而不真正操作数据,接着对生成的
SQL语句进行explain操作,检查其索引使用情况。更进一步可以检查语句执行过程中的句柄操作类型
确保语句没有进行全表扫描(句柄操作类型:read,read_rnd_next,delete等等底层原子性操作)
--dest
,--file
,或者--purge
参数--ignore
与 --replace
互斥--txn-size
与 --commit-each
互斥--low-priority-insert
与 --delay-insert
互斥--share-lock
与 --for-update
互斥 --analyze
与 --optimize
互斥--no-ascend
与 --no-delete
互斥--analyze
--no-ascend
--ascend-first
--ask-pass
--buffer
--txn-size
--file
参数指定--commit-each
--txn-size
参数。可以使用--limit
控制总的操作的行数。--limit=1000
加--txn-size=1000
同时使用时,工具开启一个事务连--commit-each
参数每一组提交--bulk-delete
--commit-each
。--[no]bulk-delete-limit
--bulk-delete
参数会追加一个--limit
参数,在部分情况下,可以使用--no-bulk-delete-limit
忽略掉,但仍需手动加上--limit
参数。此参数不建议使用--bulk-insert
--bulk-insert
的时候必须与bulk-deletes
--low-priority-insert
,--replace
,,
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。