• InnoDB 4 表


    索引组织表:

    在InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表(index organized table)。

    在创建表时若未显式地定义主键,则InnoDB存储引擎会按照如下方式选择或创建主键。

    InnoDB逻辑存储结构:

    从InnoDB存储引擎的逻辑存储结构看,所有数据都被逻辑地存放在同一个空间中,称为表空间tablespace。表空间又由段segment、区extent、页page组成。页在一些文档中也称为块。页中是一行行的数据。

    表空间:

    InnoDB存储引擎逻辑结构的最高层,所有数据都存放在表空间中。

    段:

    表空间由各个段组成。常见的段有数据段、索引段、回滚段等。

    区:

    连续页组成的空间,在任何情况下每个区的大小都为1MB.为了保证区中页的连续性,InnoDB引擎一次从磁盘申请4~5个区。默认一个页有16KB,即一个区中一共有64个连续的页。

    页:

    也称为块,是InnoDB磁盘管理的最小单位。默认16KB,可以自行设置。

    常见的页类型有:数据页、undo页、系统页、事务数据页、插入缓冲位图页、插入缓冲空闲列表页、未压缩的二进制大对象页、压缩的二进制大对象页。

    行:

    数据按行存放。每个页存放的记录也是硬性定义的,最多存放16KB/2-200行的记录。

    Compat行记录格式:

    变长字段列表 | NULL标志位 | 记录头信息 | 列1数据 | 列2数据 |。。。

    Redundant行记录格式:

    字段长度偏移列表 | 记录头信息 | 列1数据 | 列2数据 | 列3数据 |。。。

    约束:

    1. 完整性约束

    数据完整性:

    实体完整性保证表中只有一个主键。有以下三种形式:实体完整性保证表中有一个主键。primary key或unique key。用户还可以编写一个触发器来保证数据完整性。

    域完整性宝成数据每列的值满足特定的条件。有以下几种途径:合适的数据类型、外键约束、编写触发器、还可以考虑用DEFAULT约束作为强制域完整性的一个方面。

    参照完整性保证两张表之间的关系。InnoDB支持外键,因此允许用户定义外键以强制参照完整性,也可以通过编写触发器强制执行。

    对于InnoDB存储引擎来说,提供以下几种约束:

    primary key;  unique key;  foregin key;  default;  NOT NULL;

    约束在表建立时进行约束定义或利用ALTER TABLE命令来进行创建约束。

    unique key唯一索引,可以通过CREATE UNIQUE INDEX来建立。

  • 相关阅读:
    List<string>里的集合和字符串互转
    黑马程序员学习9
    黑马程序员学习7
    黑马程序员学习11
    黑马程序员学习10
    黑马程序员学习8
    黑马程序员学习12
    为什么Huffman编码不会发生冲突
    mule esb 配置maven 何苦
    php实现kafka功能开发 何苦
  • 原文地址:https://www.cnblogs.com/cjj-ggboy/p/12552589.html
Copyright © 2020-2023  润新知