mysql的数据在磁盘上的存储:
数据块:
由多个磁盘block组成的块,存储引擎负责管理数据块。

磁盘是block块设备,数据在磁盘上的存放也是按照块存放的。
    mysql读取表到内存的时候,也必许按照一块一块的方式读取。假设要查询的表在和其他表在都在同一个块内。加载块的时候除了读取要查询的表,其他表也一并被读取出来。

    当一个块内的部分表被删除时,这是就是形成了碎片。这样会降低装载到内存的速度。

    所以会生成一个块头,记录一个快内表的大小,有无空闲空间,空闲空间的位置。

文件的记录组织类型:
堆文件组织:
把行简单的堆起来,没有顺序,记录可能在文件的任何地方。
查询效率低

顺序文件组织:
    把行按照某字段(搜索码、排序码)的值顺序记录。
    更新代价大。

散列文件组织:
    人为将表分成多个部分,每个部分称为桶。根据行中的某个或某些字段做使用散列函数做哈希运算,运算结果属于某个范围的放在指定的桶中。多个桶组成一个表。
    桶有可能溢出。所以要选定一个合适散列函数,让行平均在各个桶中。