d52787790 发表于 2010-12-23 17:21

有没SQL语句查看表空间的

网上找了很多都是 oncheck, 好像用语句查询不了。求救

liaosnet 发表于 2010-12-23 18:32

可以~要是使用ids11以上,可以直接使用sysadmin库来执行oncheck~更省事。

d52787790 发表于 2010-12-24 11:11

我想像Oracle一样能获取表空间的。网上大部分是这样的,这些字段分别在那个表里面啊。
为了准确的计算informix的表空间,极佳的做好的磁盘的I/O和表空间的利用,主要从如下几个方面考虑表空间的计算:
# 确定每个索引的长度。
# 确定索引的总长度。
# 计算索引开销。
# 确定表的初始大小。
# 索引空间需要的大小。
# 将索引空间转换成千字节(kilobyte)。
# 确定以字节为单位的页大小;用它减去 28 就可以获得可用的页面空间。
# 确定行的长度。
# 确定一页上可以完整放置多少行。
# 确定初始表的数据页的数目。
# 初始表中数据页面所需的空间大小。
# 将数据大小转换成千字节(kilobyte)。
# 确定以千字节(kilobyte)为单位的初始区段大小。
# 确定表的增长。
# 下个区段的大小。

d52787790 发表于 2010-12-24 11:13

最好能用sql语句查找

liaosnet 发表于 2010-12-24 11:49

我想像Oracle一样能获取表空间的。网上大部分是这样的,这些字段分别在那个表里面啊。
为了准确的计算info ...
d52787790 发表于 2010-12-24 11:11 http://bbs3.chinaunix.net/images/common/back.gif


    我想:你有建表语句的话,很多信息都可以直接知道~~ 至于表增加,这个需要考虑业务的增长情况来定。。

BTW:在硬盘大白菜价的年代,需要花费这么大力气去计算磁盘使用?! 从表结构去估算就可以了。

日月如尧 发表于 2011-01-11 09:56

:em03:
我会查询dbspace空间

nick850827 发表于 2011-01-27 17:44

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的。

nick850827 发表于 2011-01-27 17:47

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的。

nick850827 发表于 2011-01-27 17:48

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]
查看完整版本: 有没SQL语句查看表空间的