码迷,mamicode.com
首页 > 其他好文 > 详细

inndo 表与存储逻辑_1

时间:2015-03-03 13:06:42      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

------------------------------------------2015-03-03---------------------------------------

 表 :

  innodb 中的表都是根据主键顺序组织存放的, 这种存储方式的表称为索引组织表.  每张表都有一个主键字段. 如果没有显示的定义主键, 则会按一下顺序创建主键.

    1. 判断表中是否有非空的唯一索引, 如果有, 则该字段既为主键. (当表中有多个唯一且非空的字段时, 则以定义索引的顺序排序, 取第一个字段)

    2. 如果不满足上面的条件, 则innodb自行创建一个长度为6字节大小的字段, 定义为主键.

          

create table h (a int not null, b int not null ,c int ,unique key(b), unique key(a));

  

insert into h value (1,2,3),(4,5,6);

    使用 _rowid 可以显示数据行的主键值, 表 h 的主键为 b 字段. 

select a,b,c,_rowid from h;
+---+---+------+--------+
| a | b | c    | _rowid |
+---+---+------+--------+
| 1 | 2 |    3 |      2 |
| 4 | 5 |    6 |      5 |
+---+---+------+--------+

      

   存储空间.

   innodb的数据都别逻辑地存放在一个空间中(磁盘).称之为表空间(tablespace). 表空间又由段(segment) ,区(extent) ,页(page) 组成. 就像下面这样的一个关系.

        技术分享 

inndo 表与存储逻辑_1

标签:

原文地址:http://www.cnblogs.com/henglxm/p/4310508.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!