在Oracle 数据库中如何较准确的快速的统计一个表内所有数据的字节总数
该表包含clob类型数据

解决方案 »

  1.   

    SELECT NUM_ROWS, AVG_ROW_LEN,NUM_ROWS*AVG_ROW_LEN
      FROM USER_TABLES
     WHERE TABLE_NAME LIKE '%';
      

  2.   

    USER_TABLES 能得到表内clob字段的内容的长度吗?
      

  3.   

    length(字段)
    这个函数能满足要求吗?
      

  4.   

    length(字段)可以但比较繁琐,有十多个字段的20多个表上百万数据时很慢
      

  5.   

    LOB类型的很难处理,不知道你要数据字节总数干嘛
      

  6.   

    比如有个表sbmx
    里面有四个字段
    select sum(vsize(sbmx_id) + vsize(sbpc_id) + vsize(org_id) +
               vsize(sb_content))
      from sbmx
    上面的sql可以查询出存储所有字段的数据的字节数
    看看是不是你的要求
      

  7.   

    vsize似乎不能直接统计clob类型的字段信息。可以这样试试:
        select  vsize(to_char(to_clob('ba'))) 
      from dual
      

  8.   

    谢谢大家帮助!!
    本人试过clob类型字段长度超4000数据无法用to_char()转换