对应的文件为: D:/mysql-5.1.7-beta/storage/innobase/fsp/ fsp0fsp.c D:/mysql-5.1.7-beta/storage/innobase/include/ fsp0fsp.h 1)簇的定义 Bingxi:“alex,在共享存储空间的情况,多个innodb表存储在同一个表空间里面。对单个表而言,存储并不一定是连续的。在上一篇里面提到这样的一个例子: a)创建表1,并插入数据 b)创建表2,并插入数据 c)表1插入数据 d)表2插入数据 如果我们每次分配一个页,就会存储得很凌乱。可能第n页属于t1,n+1页属于t2,n+3页属于t1,n+4页属于t2,…… 这样就会降低io的读写性能,因此我们可以看到在mysql中有簇的概念,这里的簇也就是指extent。簇是连续的页,数量是64页。那么我问下alex,假设T1表新分配了一个簇,某些页用完了,如何标识?” Alex:“bingxi,我也存在这个疑惑。我们用过代码来看这个问题吧。代码如下: 定义里面的数字是偏移量,我们来画个图看下。 从上面我们可以知道: Bingxi,你来看看。我们在本篇中,先解决第一个问题,第二个问题留到下一篇。” Bingxi:“第一个问题,可以理解。 Alex:“ok,今天就到这里吧。” Bingxi:“ok” 转载请保留固定链接: https://linuxeye.com/database/383.html |