mysql表结构

一,索引组织表
表都是按照主键组织表,记录是按照主键索引排序
若表没有声明主键索引

首先判断是否有非空唯一索引,人工有,该列为主键
如果不符合条件,存储引擎黑自动创建6字节大小的指针

       create table test1(
       a int not null,
       b int Null,
       unique key(a),
       unique key(b)
       );
       insert into test1 select 1,2;
       insert into test1 select 11,12;
       insert into test1 select -1,-2;
       select * from test1;
       select _rowid from test1;
       insert into test1 select -1,Null;
       insert into test1 select -3,Null;
       select * from test1;

_rowid只能显示单列主键,对多列主键就不行了
create table test2(
a int,
b int,
primary key(a,b)
);
insert into test2 select 1,2;
select _rowid from test2;

二.innodb逻辑存储空间
innodb所有数据都被逻辑存着放在一个空间中
表空间由段,区,页构成
如果用户启用了参数innodb_file_per_table,则每张表内数据可以单独放到一个表空间
默认情况有一个共享表空间ibdata1
show variables like “innodb_file_per_table”;

段:表空间由数据段,索引段,回滚段构成,段是由区构成
区:区是由页构成,为保证数据连续性,存储引擎会每次申请多个页,在任何情况下每个区大小为1MB,innodb存储引擎页默认大小为16KB,默认情况即一个区由64个页面组成
页:默认每个页面大小为16KB,也可以设置4K,8K等,页面类型可分为数据页,索引页面等
行,行组成页

推荐:https://blog.csdn.net/qq_18312025/article/details/78658171

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值