Netezza テーブルのサイズ (Gbs) を決定するために使用できる構文/テーブルはどれですか? UNIX SAS (ODBC または libname エンジン) 経由でアクセスしています。この情報を提供するビューがあると思いますか?
6561 次
3 に答える
3
したがって、2つのシステムビュー_v_obj_relation_xdbと_v_sys_object_dslice_infoに関心があります。最初の(_v_obj_relation_xdb)にはテーブル情報(名前、タイプなど)が含まれ、2番目の(_v_sys_object_dslice_info)にはディスクあたりのサイズ情報が含まれます。おそらく、これらのテーブルの両方を調べて、実際に何を求めているのかを理解する必要がありますが、単純なクエリは次のようになります。
select objname, sum(used_bytes) size_in_bytes
from _V_OBJ_RELATION_XDB
join _V_SYS_OBJECT_DSLICE_INFO on (objid = tblid)
where objname = 'UPPERCASE_TABLE_NAME'
group by objname
これにより、テーブルのサイズがバイト単位で返されます。読者の演習として、GBへの変換を残しておきます。他にも興味深いフィールドがいくつかあるので、それらのビューを確認することをお勧めします。
于 2011-01-22T00:09:59.207 に答える
1
(_v_sys_object_storage_size ) を使用することもできます
select b.objid
,b.database as db
,lower(b.objname) as tbl_nm
,lower(b.owner) as owner
,b.objtype
,d.used_bytes/pow(1024,3) as used_gb
,d.skew
,cast(b.createdate as timestamp) as createdate_ts
,cast(b.objmodified as timestamp) as objmodified_ts
from _v_obj_relation_xdb b inner join
_v_sys_object_storage_size d
on b.objid=d.tblid
and lower(b.objname) = 'table name'
于 2013-11-21T20:24:13.283 に答える
0
ディスク上のサイズ (used_bytes) は、圧縮されたデータを表し、テーブル内の削除された行のストレージが含まれます。
テーブルの行数統計 (reltuples) は一般に非常に正確ですが、これは単なる統計であり、「select count(*)」テーブルの行数と一致するとは限りません。
この情報は、カタログ クエリを介して取得できます。
select tablename, reltuples, used_bytes from _v_table_only_storage_stat where tablename = ^FOOBAR^;
于 2014-01-16T16:41:56.573 に答える