14.10.2 File Space Management  文件空间管理:

数据文件 你定义在配置文件形成了InnoDB的系统表空间,

文件是逻辑连接形成表空间,没有条带化使用。

你不能定义你的表在表空间中的分配。  

为了避免执行来自所有表和索引 在系统表空间, 你可以开启 innodb_file_per_table 配置选项,

会存储新创建的表在一个单独的tablespace 文件(扩展名为.ibd).

对于这种方式存储的表, 有较少的碎片在磁盘文件,

当表被truncate时, 空间返回给操作系统而不是仍旧被保留在Innodb 在系统表空间下

Pages, Extents, Segments, and Tablespaces:

每个表空间由数据库pages组成, 每个tablespace 在MySQL 实例有相同的page size.

默认的, 所有的tablespace 的page size 是16KB,

你可以降低page size 到8KB和4KB 通过指定innodb_page_size 选项,在你创建MySQL 实例的时候

pages 是集合成extents 大小是1MB( 64个连续的16KB pages,或者128 8KB pages,或者256 4KB pages)

files 在表空间内被称为segments( 那些segments 是不同于回滚段, 实际上包含很多表空间segments)

当一个segment 在表空间里,InnoDB 分配一次分配32个pages.

在那以后,InnoDB 开始分配整个extents 给segment.

InnoDB 可以一次加到4个extents 到一个大的segment来确保良好的串行数据。

两个segments 被分配给每个index 在InnoDB里,

一个是用于B树的非叶子块的,另外一个是用于leaf nodes.

保持leaf nodes在磁盘上连续可以更好的顺序的I/O操作,因为这些leaf nodes 包含实际的数据。

一些pages 在tablespace 包含其他Pages的位图,

因此 少量的extents 在InnoDB 表空间不能被分配给segments 作为整体,但是只能是单独的pages.

当你 需要可用的空闲空间在tablespace 通过使用一个SHOW TABLE STATUS statement,

InnoDB 报告extents 明确的空闲的 在tabloespace

当你从表删除数据,InnoDB 搜索相应的B-tree indexes.

不管释放的空间变的可用对于其他用户依赖的 ,不管 删除的模式释放单独的pages或者extents 到表空间。

删除表或者删除所有的记录是保证释放空间给用户,

但是记住 删除的记录是物理的移除只有通过Puege 操作,

这个会自动发生在它们不被事务回滚或者一致性读需要时

How Pages Relate to Table Rows  页于表记录的关系:

最大的行长度,特别是对于可变长度列(VARBINARY, VARCHAR, BLOB and TEXT),

略少于数据库页的一半。

比如, 最大行长度是大约8000字节对于默认的16KB innodb_page_size setting.

14.10.2 File Space Management 文件空间管理:的更多相关文章

  1. 14.10.1 InnoDB Disk I/O

    14.10 InnoDB Disk IO and File Space Management InnoDB 磁盘IO和文件空间管理: 14.10.1 InnoDB Disk I/O 14.10.2 F ...

  2. 14.10.5 Reclaiming Disk Space with TRUNCATE TABLE 回收空间使用TRUNCATE TABLE

    14.10.5 Reclaiming Disk Space with TRUNCATE TABLE 回收空间使用TRUNCATE TABLE 回收操作系统磁盘空间当truncate 一个InnoDB ...

  3. Ubuntu 14.10 下Hive配置

    1 系统环境 Ubuntu 14.10 JDK-7 Hadoop 2.6.0 2 安装步骤 2.1 下载Hive 我第一次安装的时候,下载的是Hive-1.2.1,配置好之后,总是报错 [ERROR] ...

  4. File Space——一个java structs2.0的小栗子(DIY)

    1 概述 File Space系统适用于团体,主要提供的是团队文件分享以及个人文件的存储管理服务.分为个人文件存储管理平台和团队文件共享平台. 个人文件存储平台主要为个人提供相关的文件分类存储服务:该 ...

  5. ubuntu 14.10 lts 64-bits环境下使用Android Studio

    距离google发布android studio 1.0正式版已经两个月左右了.由于一直习惯使用eclipse+ADT的模式,而且曾在windows下试用一次Android Studio预览版,感觉卡 ...

  6. CVE-2015-1328 Ubuntu 12.04, 14.04, 14.10, 15.04 overlayfs Local Root

    catalog . 引言 . Description . Effected Scope . Exploit Analysis . Principle Of Vulnerability . Patch ...

  7. Ubuntu 14.04/14.10下安装VMware Workstation 11图文教程

    VMware workstation 是一个可以进行桌面操作的虚拟软件.它可以让我们在一台电脑或者虚拟机中运行多个虚拟机. 由VMware公司研发和维护.由于是商业软件,我们需要买他们家的许可证或者说 ...

  8. ubuntu 14.10 安装 zabbix

    在ubuntu 14.10 上部署 zabbix 2.x 基本软件包安装 既然是ubuntu系统,当然要用好apt-get神器. 参考教程 URL:http://blog.csdn.net/cloud ...

  9. Ubuntu 14.04怎样升级到Ubuntu 14.10

    Ubuntu 14.04怎样升级到Ubuntu 14.10     Ubuntu 14.10 Utopic Unicorn 将在10月23日正式发布,9月25日最终测试版本已经发布,Ubuntu 14 ...

随机推荐

  1. jQuery 之 $(this) 出了什么问题?

    近期在写jQuery的时候出了这样一个问题? <html> <head> <title></title> </head> <style ...

  2. MyEclipse10+Jdk1.7+OSGI+MySql实现CRUD数据库

    开发环境: Windows2008R2 64位置+MyEclipse10+jdk1.7.0_67+MySql5.5 软件安装:myeclipse-10.0-offline-installer-wind ...

  3. 基于CAShapeLayer和贝塞尔曲线的圆形进度条动画【装载】

    初次接触CAShapeLayer和贝塞尔曲线,看了下极客学院的视频.对初学者来说感觉还不错.今天来说一个通过CAShapeLayer和贝塞尔曲线搭配的方法,创建的简单的圆形进度条的教程先简单的介绍下C ...

  4. 巡逻机器人(BFS)

    巡逻机器人问题(F - BFS,推荐) Description   A robot has to patrol around a rectangular area which is in a form ...

  5. BZOJ 1216: [HNOI2003]操作系统( 优先队列 )

    按题意用priority_queue模拟即可 ---------------------------------------------------------------------- #inclu ...

  6. BZOJ 1026: [SCOI2009]windy数( dp )

    dp..dp(x, t) 表示共x位, 第x位为t有多少个windy数. 对答案差分, 我们只需统计1 ~ l-1和1 ~ r的windy数数量. 考虑如何计算[1, n]的答案 : 从最高位到最低位 ...

  7. 我的Python成长之路---第四天---Python基础(15)---2016年1月23日(寒风刺骨)

    二.装饰器     所谓装饰器decorator仅仅是一种语法糖, 可作用的对象可以是函数也可以是类, 装饰器本身是一个函数, 其主要工作方式就是将被装饰的类或者函数当作参数传递给装饰器函数.本质上, ...

  8. 创建.NET Core项目

    创建.NET Core项目 ? 对于.NET开发人员来说,我们已经习惯了VS这个世界上最强大的IDE,所以对他们来说,项目的创建直接利用安装到VS中相应的项目模板即可.当.NET Core跨出了Win ...

  9. oschina插件和扩展

    Eclipse插件 2551FireFox插件 14IE插件 19Prototype扩展 220Chrome插件/扩展 72WordPress插件 33NetBeans插件 12IDEA插件 25Xc ...

  10. 动态规划之插头DP入门

    基于联通性的状态压缩动态规划是一类非常典型的状态压缩动态规划问题,由于其压缩的本质并不像是普通的状态压缩动态规划那样用0或者1来表示未使用.使用两种状态,而是使用数字来表示类似插头的状态,因此.它又被 ...