Chinaunix

标题: 关于表的存储空间问题(急) [打印本页]

作者: westering    时间: 2008-09-09 13:57
标题: 关于表的存储空间问题(急)
sybae12.5,我建立了数据库A,添加了两个设备b,c共700兆,在数据库A中建立了表tab。查看数据库A可用空间有697兆,为什么查看表tab未使用空间只有0.02兆呢?
注:数据库A中主要就是tab表存储数据,没有其他表。
问题:如何将数据库设备的空间真正分配给一个表?
作者: chenfeng825    时间: 2008-09-09 14:02
原帖由 westering 于 2008-9-9 13:57 发表
sybae12.5,我建立了数据库A,添加了两个设备b,c共700兆,在数据库A中建立了表tab。查看数据库A可用空间有697兆,为什么查看表tab未使用空间只有0.02兆呢?
注:数据库A中主要就是tab表存储数据,没有其他表。 ...


这里两个概念
数据库可用空间某个段(segment)指未分配给对象(可以认定为表,索引等)的空间

而所谓表的空间分配时每次8 pages(1 extent),我们可以设想,一次分配8个Page,基本就会有些剩余,这里的为使用空间是指这个
作者: westering    时间: 2008-09-09 14:09
那如何将段分配给一个表呢?
毕竟现在看表的可用空间不多了。
作者: westering    时间: 2008-09-09 14:13
原帖由 westering 于 2008-9-9 14:09 发表
那如何将段分配给一个表呢?
毕竟现在看表的可用空间不多了。



或者说不用管他,表空间满了,会自动写到那两个700兆的数据设备中去?
作者: chuxu    时间: 2008-09-09 15:18
sybase并没有表空间的概念,表是建立在段上的,如果没有特殊指定,缺省是default段,而新建了设备b,c如果是说明是data devices的话那么上面就会包含dufault段,所以也一定会使用到b,c的设备。
作者: westering    时间: 2008-09-09 15:51
原帖由 chuxu 于 2008-9-9 15:18 发表
sybase并没有表空间的概念,表是建立在段上的,如果没有特殊指定,缺省是default段,而新建了设备b,c如果是说明是data devices的话那么上面就会包含dufault段,所以也一定会使用到b,c的设备。


基本明白了,多谢!
一次扩展8 page,所以看一个表,总是剩下的不多百分比。每一次扩展,从段里分配出来空间,呵呵。

[ 本帖最后由 westering 于 2008-9-9 15:53 编辑 ]




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2