可以使用哪些语法/表来确定Netezza表的大小(Gbs)?我通过UNIX SAS(ODBC或libname引擎)访问。我认为有一个观点会给这个信息?使用UNIX查找Netezza表的大小SAS
2
A
回答
3
所以你对两个系统视图_v_obj_relation_xdb和_v_sys_object_dslice_info感兴趣。第一个(_v_obj_relation_xdb)包含表信息(名称,类型等),第二个(_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作为练习给读者。还有其他一些有趣的领域,所以你可能想看看这些意见。
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'
0
在磁盘上(used_bytes)的大小表示压缩数据,并且包括用于存储表中的任何删除的行。
表rowcount统计信息(reltuples)通常非常准确,但它只是一个统计信息,不能保证匹配“select count(*)”表的rowcount。
你可以通过目录查询此信息
select tablename, reltuples, used_bytes from _v_table_only_storage_stat where tablename = ^FOOBAR^;
相关问题
- 1. 使用UNIX SAS确定Netezza DISTRIBUTE_ON密钥
- 2. 在Unix中查找大小的文件
- 3. 查找目录的大小在UNIX
- 4. 如何增加netezza表的列大小
- 5. Netezza公司表的大小使用CTAS命令
- 6. 找出查找表的大小C
- 7. 使用PHP查找SQL列的大小?
- 8. 当使用UNIX“查找”
- 9. 查找和使用bash UNIX
- 10. 使用Unix查找`pwd`
- 11. 查找大小
- 12. 从SAS调用Netezza存储过程
- 13. 查找SAS
- 14. 找到Aginity工作台IBM Netezza的SQL数据库表大小在Win 7
- 15. “intck”Netezza中的SAS模拟器
- 16. 使用硒查找[li]列表的大小
- 17. 查找组大小
- 18. 查找DWORD大小
- 19. 查找行大小
- 20. Unix脚本 - 查找最小值和最大值(Bash Shell)
- 21. 如何在Unix中查找虚拟内存块大小
- 22. 查找具有100%的使用UNIX
- 23. Unix的查找和使用通配符
- 24. 查找NewArrayExpression的大小
- 25. 查找矢量的大小
- 26. 查找指针的大小
- 27. UNIX上的进程大小
- 28. UNIX-使用'查找'来查找文件的副本
- 29. Unix:使用grep查找字符串-Rn
- 30. unix ssh使用ssh查找node.js文件