一文看懂MySQL如何判断InnoDB表是独立表空间还是共享表空间
yund56 2025-05-18 17:34 20 浏览
概述
InnoDB采用按表空间(tablespace)的方式进行存储数据, 默认配置情况下会有一个初始大小为10MB, 名字为ibdata1的文件, 该文件就是默认的表空间文件(tablespce file),用户可以通过参数innodb_data_file_path对其进行设置,可以有多个数据文件,如果没有设置innodb_file_per_table的话, 那些Innodb存储类型的表的数据都放在这个共享表空间中,而系统变量innodb_file_per_table=1的话,那么InnoDB存储引擎类型的表就会产生一个独立表空间。那么独立表空间有哪些优劣呢?怎么去判断XX表是独立表空间还是共享表空间?
一、独立表空间优缺点
1、优点
1) 每个表都有自已独立的表空间。
2)每个表的数据和索引都会存在自已的表空间中。
3)可以实现单表在不同的数据库中移动。
4)空间可以回收(除drop table操作处,表空不能自已回收)
- Drop table操作自动回收表空间,如果对于统计分析或是日值表,删除大量数据后可以通过:alter table TableName engine=innodb;回缩不用的空间。
- 对于使innodb-plugin的Innodb使用turncate table也会使空间收缩。
- 对于使用独立表空间的表,不管怎么删除,表空间的碎片不会太严重的影响性能,而且还有机会处理。
2、缺点
单表增加过大,如超过100个G。
二、判别数据表是独立表空间还是共享表空间
1、通过ibd文件判别
如果表的存储引擎是InnoDB,而且表空间(tablespace)是共享表空间的话,那么数据库对应目录下面是没有"表名.ibd"文件的。独立表空间的表的话,则有"表名.ibd"文件。只是这个方法很笨,对于生产环境,大量的表通过这种方式判别,确实不是一个好方法。
--innodb_file_per_table=1
show variables like 'innodb_file_per_table';
create table Independent_tablespace(name varchar(64));
ls -lrt independent_tablespace.*
--innodb_file_per_table=0
show variables like 'innodb_file_per_table';
create table common_tablespace(name varchar(64));
ls -lrt independent_tablespace.*
2、
INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES判别
MySQL 5.6的
INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES 关于这个系统表提供了有关表格的格式和存储特性,包括行格式,压缩页面大小位级别的信息(如适用),INNODB的表空间信息。
--共享表空间
SELECT TABLE_SCHEMA
,TABLE_NAME
,TABLE_TYPE
,N'共享表空间' AS TABLE_SPACE
,ENGINE
,VERSION
,TABLE_ROWS
,AVG_ROW_LENGTH
,CREATE_TIME
,UPDATE_TIME
FROM INFORMATION_SCHEMA.TABLES T
LEFT JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES I ON CONCAT(T.TABLE_SCHEMA, '/',T.TABLE_NAME)=I.NAME
WHERE I.NAME IS NULL AND T.TABLE_SCHEMA='HWB' AND T.ENGINE='InnoDB';
--独立表空间
SELECT TABLE_SCHEMA
,TABLE_NAME
,TABLE_TYPE
,N'独立表空间' AS TABLE_SPACE
,ENGINE
,VERSION
,TABLE_ROWS
,AVG_ROW_LENGTH
,CREATE_TIME
,UPDATE_TIME
FROM INFORMATION_SCHEMA.TABLES T
INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES I ON CONCAT(T.TABLE_SCHEMA, '/',T.TABLE_NAME)=I.NAME
WHERE T.TABLE_SCHEMA='HWB' AND T.ENGINE='InnoDB';
3、
INFORMATION_SCHEMA.INNODB_SYS_TABLES判别(推荐)
MySQL 5.7 的
INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES中多了SPACE_TYPE字段,不过其值全部为Single,而
INFORMATION_SCHEMA.INNODB_SYS_TABLES中也多了字段SPACE_TYPE, 其值有Single与System 分别表示独立表空间和共享表空间。
--独立表空间
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE SPACE_TYPE='Single';
SELECT TABLE_SCHEMA
,TABLE_NAME
,TABLE_TYPE
,N'独立表空间' AS TABLE_SPACE
,ENGINE
,VERSION
,TABLE_ROWS
,AVG_ROW_LENGTH
,CREATE_TIME
,UPDATE_TIME
FROM INFORMATION_SCHEMA.TABLES T
INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES I ON CONCAT(T.TABLE_SCHEMA, '/',T.TABLE_NAME)=I.NAME
WHERE T.TABLE_SCHEMA='HWB' AND T.ENGINE='InnoDB';
--共享表空间
SELECT TABLE_SCHEMA
,TABLE_NAME
,TABLE_TYPE
,N'共享表空间' AS TABLE_SPACE
,ENGINE
,VERSION
,TABLE_ROWS
,AVG_ROW_LENGTH
,CREATE_TIME
,UPDATE_TIME
FROM INFORMATION_SCHEMA.TABLES T
LEFT JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES I ON CONCAT(T.TABLE_SCHEMA, '/',T.TABLE_NAME)=I.NAME
WHERE I.NAME IS NULL AND T.TABLE_SCHEMA='HWB' AND T.ENGINE='InnoDB';
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
相关推荐
- 分享|最美色彩!40张纯迷彩高清原图壁纸送给你
-
最美的色彩是什么?对于军人来说是迷彩那是青春的本色是理想、使命的颜色40张纯迷彩高清原图壁纸送给你so快来收图!!军报记者微信发布作者:剑客小吉;编辑:王旭;编审:曲延涛;投稿邮箱:jfjbwx@16...
- 你还在用百度搜图?推荐5个图片素材库,你要的图片都有!
-
自媒体运营人每天都需要进行内容创作,所以少不了图片、视频、文案素材等,那么这些自媒体素材哪里找呢?今天,就给大家分享5个图片和视频素材库,文案素材下期再给大家详细介绍。图片和视频素材现在已经是做短视频...
- 《2》图片原创无版权素材
-
粉樱于雨中轻轻摇曳,花瓣飘呀飘的,落在小径上、湖面上,将世界晕染成柔和的粉色。雨滴似银线,串联起天空与湖水,古亭在一旁静静凝望,连空气都透着甜意。我们一直在寻觅“诗意”的模样,原来就是这般——有落花纷...
- 全网最全的图片素材网站分享!任意下载!值得收藏!
-
自媒体时代,很多内容创作者都需要高清的图片资源。因为图片不清晰会带来不好的用户体验~众所周知,从网上下载的图片一般都是有版权的!如果你直接下载使用,可能会有侵权的风险!今天为了帮助大家解决图片问题,今...
- 中秋节素材(海报+插画)!绝景良时难再并
-
部分预览随机选取中秋节素材(海报+插画)(仅供会员下载)...
- 10张早上好美图,早安祝福语和祝福图片选集
-
每天准时分享接收:早安问候图片、漂亮的早安图片、问候祝福语、动态聊天表情包等等每日的祝福准时送达,愿你用满满的正能量开启新的一天。美满,是日常的点点汇聚;情谊,是时光的悠悠长卷;一声招呼,穿越五湖四海...
- 晚安心语正能量经典素材带图片,让你一见倾心
-
一、没事的,每个人大概都会经历一些情绪崩溃或者极端的时刻,会好的,会熬过来的。二、以后,只对两种人好,一种是对我好的人,一种是懂得我的好的人,一个人的温暖也是有限的啊,一点都不能浪费。三、要钱,就要努...
- 太厉害了,52种科幻画主题创意素材,极其脑洞大开,科技创新未来
-
图片来自网络,仅作分享,如有侵权请联系删除哦...
- 综合绘画素材—29张冬天主题绘画素材,一起来画你心中的冬天呀
-
图片来自,仅作分享,如有侵权请联系删除哦...
- 20张彩色线描装饰画素材!一起欣赏线条带来的艺术美呀!
-
图片来自网络,仅作分享,如有侵权请联系删除哦...
- 国外的免费素材网站!这3个大神私藏款,你还没用过?
-
做PPT没素材?去网上找了半天,浪费时间不说,大部分还收费,等于白忙活!不少小伙伴也问我有没有免费好用的素材网站,这不就来了。今天和大家分享3个国外的素材网站,关键是免费又高质量。不管是PPT设计还是...
- 8个高清无版权的图片资源网站,质量高又免费,够你用一辈子
-
很多时候我们找素材总是要花费很多时间,今天就给大家分享8个,高清无版权的图片资源网站,质量高又免费,够你用一辈子。01*Logosc链接:https://www.logosc.cn/so/这是一个免版...
- 100种超萌手帐素材简笔画,小白看一遍也能学会
-
手帐素材集中营:天气、美食、植物花草、动物、人物、乐器都在这里。一次画个够,转存轻松做手帐~爱画画,爱生活~...
- 超治愈萌系手帐素材大全 美食旅游花草人物花边都备齐了
-
现代人每天都生活在一个充满焦灼感的空气中,成年人的世界里,每个人都不容易。不论是生活还是工作,都充满了各种挫折。很少有人能一帆风顺,为学习、为工作、为家庭、为感情、我们总会在坎坎坷坷中成长,难免会觉得...
- 一周热门
- 最近发表
- 标签列表
-
- filter函数js (37)
- filter函数excel用不了 (73)
- 商城开发 (40)
- 影视网站免费源码最新版 (57)
- 影视资源api接口 (46)
- 网站留言板代码大全 (56)
- java版软件下载 (52)
- java教材电子课本下载 (48)
- 0基础编程从什么开始学 (50)
- java是用来干嘛的 (51)
- it入门应该学什么 (55)
- java线上课程 (55)
- 学java的软件叫什么软件 (38)
- 程序开发软件有哪些 (53)
- 软件培训 (59)
- 机器人编程代码大全 (50)
- 少儿编程教程免费 (45)
- 新代系统编程教学 (61)
- 共创世界编程网站 (38)
- 亲测源码 (36)
- 三角函数积分公式表 (35)
- 函数的表示方法 (34)
- 表格乘法的公式怎么设置 (34)
- sumif函数的例子 (34)
- 图片素材 (36)