使用时,用户SYSMASTER Informix中连接如何获得表的列表特定数据库?

问题描述 投票:1回答:1

是否有一个查询来获取表的列表,并在与Informix的用户SYSMASTER连接其对应的最大粒径和粒径为特定的数据库?

我只能得到当我连接到其相应的数据库中的给定表的大小,但事实并非如此。我希望能够得到最大的表大小和大小时,我只用用户SYSMASTER连接。是否有其他管理员用户/数据库,其中有这样的访问从Informix的所有数据库中所有表的信息?

sql database informix
1个回答
1
投票

尝试这个 :

   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)组。

© www.soinside.com 2019 - 2024. All rights reserved.