失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > MySQL表空间碎片整理

MySQL表空间碎片整理

时间:2020-06-24 15:52:07

相关推荐

MySQL表空间碎片整理

MySQL可以使用alter table tn engine=innodb语句进行表空间碎片整理。而页内记录并不是物理有序的,并且删除记录后,被删除的记录放到页内free链表,可能会产生很多空洞。alter table命令会重建表,这样的话,猜测可能扫描老表页内说有数据,一个一个的插入到新表中。是不是这个过程呢?跟踪了下堆栈:

(gdb) bt#0 btr_cur_optimistic_insert (flags=23, cursor=0xa34a4074, offsets=0xa34a40b4, heap=0xa34a40dc, entry=0xa6b72c8, rec=0xa34a40b8, big_rec=0xa34a40bc, n_ext=0, thr=0x0, mtr=0xa34a3c04)at /home/mysql26/mysql-5.6.26/storage/innobase/btr/:1241#1 0x087c006c in row_merge_insert_index_tuples (trx_id=9503, index=0xa6b7ca8, old_table=0xa4df530, fd=35, block=0x9d232000 "\002") at /home/mysql26/mysql-5.6.26/storage/innobase/row/:2519#2 0x087c3c5e in row_merge_build_indexes (trx=0xa63a358, old_table=0xa4df530, new_table=0xa625f20, online=true, indexes=0xa640d20, key_numbers=0xa640d28,

如果觉得《MySQL表空间碎片整理》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。