共享表空间存储数据都在一张表中:
1.记录数据库相关信息
2.解决部分写失败(页断裂)
3.内存insert buffer数据
4、回滚段(rollback segments)
5、undo空间:undo页
影响共享表空间增长的对象:insert buffer、undo空间
有大量并发事务,产生大量的undo log;
有旧事务长时间未提交,产生大量旧undo log;
file i/o性能差,purge进度慢;
初始化设置太小不够用;
共享表空间优点:
1. 在插入操作有优势
2.数据和文件放在一起方便管理
缺点:
多个表及索引在表空间混合存储,对某个表做大量删除操作后会有大量空隙,数据进行删除标记,表空间不回收。
独立表空间:
优点:
1、每个表都有自已独立的表空间。
2、每个表的数据和索引都会存在自已的表空间中。
3、可以实现单表在不同的数据库中移动。
4、空间可以回收(除drop table操作处,表空不能自已回收)
5、 Drop table操作自动回收表空间,删除大量数据后可以通过:alter table TableName engine=innodb;回缩不用的空间。
缺点:单表增加比共享空间方式更大。