在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

MySQL中怎么判断InnoDB表是独立表空间还是共享表空间

116次阅读
没有评论

共计 2735 个字符,预计需要花费 7 分钟才能阅读完成。

MySQL 中怎么判断 InnoDB 表是独立表空间还是共享表空间,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

一、独立表空间优缺点

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

看完上述内容,你们掌握 MySQL 中怎么判断 InnoDB 表是独立表空间还是共享表空间的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-03发表,共计2735字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 国产欧美日韩精品在线 | 国产乳摇福利视频在线观看 | 一二三四国语在线观看视频 | 99影视在线视频免费观看 | 国产福利写真视频在线观看 | 久久精品a一国产成人免费网站 | 日本人69视频jizz免费看 | 欧美无人区码suv | 亚洲最大成人综合网 | 亚洲精品欧美二区三区中文字幕 | 女人高潮内射99精品 | 乌克兰大乳美女一级毛片 | 欧美久在线观看在线观看 | 女人和拘做爰正片视频 | 欧美大黑帍在线播放 | 日本午夜免费福利视频 | 欧美一级日本一级韩国一级 | 欧美一性一乱一交一视频 | 欧美精品在线一区二区三区 | 在线观看视频你懂得 | 影音先锋女人aa鲁色资源 | 伊伊人成亚洲综合人网7777 | 精品一区二区三区四区在线 | 国产欧美在线观看不卡 | 一级黄色片在线看 | 国内精品久久久人妻中文字幕 | 免费无码毛片一区二区三区a片 | 国产在线拍偷自揄观看视频网站 | 日本大片在线观看免费视频 | 国内露脸少妇精品视频 | 免费国精产品wnw2544 | 日韩欧美印度一级毛片 | 午夜免费观看_视频在线观看 | 欧牲交a欧美牲交aⅴ | 亚洲一区二区中文字幕 | 大地资源网高清在线观看免费 | 亚洲国产成人精品无码区花野真一 | 亚洲视频一区二区三区四区 | 日本巨大的奶头在线观看 | 精品日产1区2区 | 国产高清一级毛片在线不卡 |