且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

MySQL小工具 之 InnoDB数据文件分析

更新时间:2022-09-15 08:58:19

今天公开两个小工具,主要用来分析InnoDB的数据文件,以帮助更好的分析数据在ibd文件里的分布情况.以便做容量规划等工作

ps:这个公布的都是Python版的

print_btree.py(点击这里下载) 这个工具会根据数据文件来打印出B-Tree结构来..而且也会打印出每一个Page的详细信息
输出结果如下:
index id: h->0|l->2078
|–no:5(29)
| |–no:12(377)
| |–no:13(377)
| |–no:17(400)
| |–no:24(754)
| |–no:16(366)
| |–no:33(377)
| |–no:36(383)
| |–no:29(733)
| |–no:47(753)
| |–no:39(3)
| |–no:46(378)
| |–no:55(378)
| |–no:54(755)
| |–no:62(377)
| |–no:68(755)
| |–no:77(753)
| |–no:71(367)
| |–no:82(377)
| |–no:87(409)
| |–no:86(377)
| |–no:90(377)
| |–no:92(380)
| |–no:93(377)
| |–no:98(382)
| |–no:94(734)
| |–no:95(731)
| |–no:91(366)
| |–no:97(369)
| |–no:96(264)
其中 no后的数字表示page号,括号里面的数字表示这个page下面有多少条记录
也可以开启debug模式来打印出详细的Page信息 ,如:
page no:141
page addr:0x234000h , page type:17855, page space id:1277996950 ,page no:141
page level:0 ,page index id:h->0|l->2076 ,page_btr_top:(0, 0, 0) ,page_btr_leaf:(0, 0, 0)
page_file_prev:140 ,page_file_next:142
page record number:279 ,dir_slots:70
page free:0 ,page_heap_top:15186 ,page_heap_num:33049
page infimum:infimum ,page supremum:supremum

还有whole模式可以打印出完全符合B-tree结构的信息来,具体自己研究吧


本文来源于"阿里中间件团队播客",原文发表时间" 2011-09-10 "