最近寫完mysql flashback,突然發(fā)現(xiàn)還有有這種使用場(chǎng)景:有些情況下,可能會(huì)統(tǒng)計(jì)在某個(gè)時(shí)間段內(nèi),MySQL修改了多少數(shù)據(jù)量?發(fā)生了多少事務(wù)?主要是哪些表格發(fā)生變動(dòng)?變動(dòng)的數(shù)量是怎么樣的? 但是卻不需要行記錄的修改內(nèi)容,只需要了解 行數(shù)據(jù)的 變動(dòng)情況。故也整理了下。
昨晚寫的腳本,因?yàn)閭€(gè)人python能力有限,本來想這不發(fā)這文,后來想想,沒準(zhǔn)會(huì)有哪位園友給出優(yōu)化建議。
如果轉(zhuǎn)載,請(qǐng)注明博文來源: www.cnblogs.com/xinysu/ ,版權(quán)歸 博客園 蘇家小蘿卜 所有。望各位支持!
1 實(shí)現(xiàn)內(nèi)容
有些情況下,可能會(huì)統(tǒng)計(jì)在某個(gè)時(shí)間段內(nèi),MySQL修改了多少數(shù)據(jù)量?發(fā)生了多少事務(wù)?主要是哪些表格發(fā)生變動(dòng)?變動(dòng)的數(shù)量是怎么樣的? 但是卻不需要行記錄的修改內(nèi)容,只需要了解 行數(shù)據(jù)的 變動(dòng)情況。
這些情況部分可以通過監(jiān)控來大致了解,但是也可以基于binlog來全盤分析,binlog的格式是row模式。
在寫flashback的時(shí)候,順帶把這個(gè)也寫了個(gè)腳步,使用python編寫,都差不多原理,只是這個(gè)簡(jiǎn)單些,介于個(gè)人python弱的不行,性能可能還有很大的提升空間,也希望園友能協(xié)助優(yōu)化下。
先貼python腳步的分析結(jié)果圖如下,分為4個(gè)部分:事務(wù)耗時(shí)情況、事務(wù)影響行數(shù)情況、DML行數(shù)情況以及操作最頻繁表格情況。
2 腳本簡(jiǎn)單描述
腳本依賴的模塊中,pymysql需要自行安裝。