db2中,一个表中的一条数据占多少空间取决于什么
前几天,在优化表的时候,同事说一个表的一条记录占多少空间是取决于pagesize的,相当于如果我创建库的时候设置的是32k的paagesize,那么A表中的一条数据就占32k了,是这样的嘛?
我想知道pagespace是不是可以单独指定pagesize,是不是A表中的没一条数据在库里面的是一page
每个表空间是可以单独指定pagesize的。毕业论文
如果你的表恰好已分配的空间用完了,这时插入一条数据,就会分配一个extent给这个表,这时看起来好像这条数据占用了整个extent,但后续插入的数据还是会继续放到这个extent的page中来,所以单条数据不会占用整个page,除非你的记录很长,一个page只放得下一条。
extent由n个page组成,DB2分配空间是每次分配一个extent,而不是一个page,extent包含多少个page每个表空间也可以在创建时单独指定。
一条记录不会暂用一个page的,除非是 一条记录很大 。另外,记录不能存储在两个页上,所以尽量要让page的大小和 记录数成正比,减少空间的消耗 。