看懂MySQL如何判断InnoDB表是独立表空间还是共享表空间
nodb_data_file_path对其进行设置,可以有多个数据文件,如果没有设置innodb_file_per_table的话, 那些Innodb存储类型的表的数据都放在这个共享表空间中,而系统变量innodb_file_per_table=1的话,那么InnoDB存储引擎类型的表就会产生一个独立表空间。 那么独立表空间有哪些优劣呢?怎么去判断XX表是独立表空间还是共享表空间? 一、独立表空间优缺点 1. 优点: (1) 每个表都有自已独立的表空间。 (2) 每个表的数据和索引都会存在自已的表空间中。 (3) 可以实现单表在不同的数据库中移动。 (4) 空间可以回收(除drop table操作处,表空不能自已回收)
2. 缺点 单表增加过大,如超过100个G。 二、判别数据表是独立表空间还是共享表空间 1. 通过ibd文件判别
如果表的存储引擎是InnoDB,而且表空间(tablespace)是共享表空间的话,那么数据库对应目录下面是没有"表名.ibd"文件的。独立表空间的表的话,则有"表名.ibd"文件。只是这个方法很笨,对于生产环境,大量的表通过这种方式判别,确实不是一个好方法。 (编辑:惠州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |