有没SQL语句查看表空间的
网上找了很多都是 oncheck, 好像用语句查询不了。求救 可以~要是使用ids11以上,可以直接使用sysadmin库来执行oncheck~更省事。 我想像Oracle一样能获取表空间的。网上大部分是这样的,这些字段分别在那个表里面啊。为了准确的计算informix的表空间,极佳的做好的磁盘的I/O和表空间的利用,主要从如下几个方面考虑表空间的计算:
# 确定每个索引的长度。
# 确定索引的总长度。
# 计算索引开销。
# 确定表的初始大小。
# 索引空间需要的大小。
# 将索引空间转换成千字节(kilobyte)。
# 确定以字节为单位的页大小;用它减去 28 就可以获得可用的页面空间。
# 确定行的长度。
# 确定一页上可以完整放置多少行。
# 确定初始表的数据页的数目。
# 初始表中数据页面所需的空间大小。
# 将数据大小转换成千字节(kilobyte)。
# 确定以千字节(kilobyte)为单位的初始区段大小。
# 确定表的增长。
# 下个区段的大小。 最好能用sql语句查找 我想像Oracle一样能获取表空间的。网上大部分是这样的,这些字段分别在那个表里面啊。
为了准确的计算info ...
d52787790 发表于 2010-12-24 11:11 http://bbs3.chinaunix.net/images/common/back.gif
我想:你有建表语句的话,很多信息都可以直接知道~~ 至于表增加,这个需要考虑业务的增长情况来定。。
BTW:在硬盘大白菜价的年代,需要花费这么大力气去计算磁盘使用?! 从表结构去估算就可以了。 :em03:
我会查询dbspace空间 select name dbspace, -- name truncated to fit on one line
sum(chksize) Pages_size, -- sum of all chuncks size pages
sum(chksize) - sum(nfree) Pages_used,
sum(nfree) Pages_free, -- sum of all chunks free pages
round ((sum(nfree)) / (sum(chksize)) * 100, 2) percent_free
from sysdbspaces d, syschunks c where d.dbsnum = c.dbsnum
group by 1 order by 1;
这个试试?informix的。 select name dbspace, -- name truncated to fit on one line
sum(chksize) Pages_size, -- sum of all chuncks size pages
sum(chksize) - sum(nfree) Pages_used,
sum(nfree) Pages_free, -- sum of all chunks free pages
round ((sum(nfree)) / (sum(chksize)) * 100, 2) percent_free
from sysdbspaces d, syschunks c where d.dbsnum = c.dbsnum
group by 1 order by 1;
这个试试?informix的。 select name dbspace, -- name truncated to fit on one line
sum(chksize) Pages_size, -- sum of all chuncks size pages
sum(chksize) - sum(nfree) Pages_used,
sum(nfree) Pages_free, -- sum of all chunks free pages
round ((sum(nfree)) / (sum(chksize)) * 100, 2) percent_free
from sysdbspaces d, syschunks c where d.dbsnum = c.dbsnum
group by 1 order by 1;
这个试试?informix的。
页:
[1]