是否有一个查询来获取表的列表,并在与Informix的用户SYSMASTER连接其对应的最大粒径和粒径为特定的数据库?
我只能得到当我连接到其相应的数据库中的给定表的大小,但事实并非如此。我希望能够得到最大的表大小和大小时,我只用用户SYSMASTER连接。是否有其他管理员用户/数据库,其中有这样的访问从Informix的所有数据库中所有表的信息?
尝试这个 :
select tn.partnum, tn.dbsname, tn.owner, tn.tabname
, pt.lockid, pt.flags, pt.flags2
, pt.rowsize, pt.ncols, pt.pagesize
, dbinfo('utc_to_datetime',pt.created) as created
, pt.nrows, pt.nptotal, pt.npused, pt.npdata
, pt.nrows * pt.rowsize as tamanho_bytes
, (pt.nptotal * pt.pagesize) /1024 as total_kb
, (pt.npused * pt.pagesize) /1024 as used_kb
, (pt.npdata * pt.pagesize) /1024 as data_kb
, ((pt.nptotal - pt.npused) * pt.pagesize) /1024 as free_kb
, pt.nextns as extents
, pt.ninserts
, pt.nupdates
, pt.ndeletes
, coalesce(pt.serialv,pt.cur_serial8,pt.cur_bigserial)::bigint serial
, pta_oldvers
, pta_newvers
from sysmaster:sysptnhdr pt
left join sysmaster:systabnames tn on tn.partnum = pt.partnum
TBLspaces列出过于支离破碎表显示出分离,您可以通过lockid柱(〜partnum)组。