读《MySQL技术内幕 InnoDB存储引擎》 学习总结 第四章 表

4.1.索引组织表

定义:根据 主键 顺序组织存放的表。  ps:主键选择非空的唯一索引Unique NOT NULL,根据的是定义索引的顺序,而不是建表时列的顺序。

4.2 InnoDB逻辑存储结构

表空间、段、区、页、行

表空间   默认情况下有一个共享表空间。

段  包含数据段,索引段,回滚段。数据段为B+树的叶子节点,索引段是非索引节点。

区   由连续页组成的空间

页  数据页 undo页 系统页 事务数据页

行  

4.3 InnoDB行格式记录

compact行记录格式(紧密的)

Redundant行记录格式(多余的)

行溢出数据

 Mysql数据库官方说法varchar类型可以存放65535字节,实际上还有别的开销。65535指的是所有varchar列的长度的总和。

因为索引是B+树结构的,所有每个页中至少有两条行记录。因此如果页中只能存放一行记录,innoDB存储引擎会自动把数据放到溢出页中。

4.4InnoDB数据页结构

4.5 Named file formats机制

走神了

4.6 约束

数据完整性

关系型数据库本身有数据完整型机制  文件系统需要在程序端进行控制。

约束的创建和查找

创建: 在表建立时创建,利用 alter  table命令

约束和索引的区别

约束是逻辑概念,索引是数据结构。两者非常类似

对错误数据的约束

通常情况下,数据库不会对错误数据的插入进行提示,如果要严格审核插入数据的规范,可以设置参数: sql_mode='STRICT_TRANS_TABLES';

ENUM和SET约束

creat table a (id int, sex ENUM('male' , 'female') ); 规定sex 范围只能是male/female.

触发器与约束

作用:在 insert dalete uodate命令执行之前或之后调用 sql语句或者存储过程。

sql 语句实现,create trigger  xixi before update on usercash。

具体见书上代码

外键约束

MyISAM存储引擎本身不支持外键,InnoDB支持。

当父表进行删、改操作时,对其子表进行相应操作。

4.7 视图

一个命名的虚表,由一个sql查询来定义,可以当作表使用。但是视图中的数据其实没有实际的物理存储。

视图 作用

 

物化视图

 

4.8分区表

(菜菜还没机会用到过,先略,二刷来补上)

分区概述

分区类型

子分区

分区中的null值

分区和性能

在表和分区间交换数据

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值