我希望找到如何在OracleDB中获取结果集的kb大小。 我不是一个系统管理员,但经常运行返回超过10万行的查询,我需要找到一种方法来确定总的kb大小。 谢谢
答案 0 :(得分:11)
在SQL * Plus中:
SET AUTOTRACE ON
SELECT *
FROM emp
WHERE rownum <= 100;
27 recursive calls
0 db block gets
19 consistent gets
4 physical reads
0 redo size
**11451 bytes sent via SQL*Net to client**
314 bytes received via SQL*Net from client
8 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
100 rows processed
要使用AUTOTRACE,需要使用PLUSTRACE角色,默认情况下不授予该角色。 Find out more
答案 1 :(得分:0)
通常,您可以使用count(*)
替换列列表以返回行计数。
我不确定这对于具有许多连接的真正复杂的查询有多好,但是,对于更简单的查询,它应该没问题。替换:
select a,b,c from t where a > 7;
与
select count(*) from t where a > 7;
这将在运行实际查询之前为您提供行计数。请记住,您的计数查询和实际查询之间的数据可能会发生变化(希望不会太多)。了解数据属性将允许您从行数中近似千字节。