我希望能找到我怎样才能在OracleDB的结果集的大小(KB)。 我不是一个系统管理员,但往往运行在返回行100K查询和我需要找到一种方法来确定什么是总KB大小。 谢谢
Answer 1:
在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作用,这是不是默认授予。 了解更多 。
Answer 2:
一般情况下,你将与你的替换列列表count(*)
返回的行数。
我不知道如何与很多连接等,但,对于简单的查询,它应该是罚款,将工作在非常复杂的查询。 更换:
select a,b,c from t where a > 7;
同
select count(*) from t where a > 7;
在运行实际查询之前,这将使你的行数。 只要记住有一个机会的数据可能已在数查询和实时查询(希望不要太多)之间切换。 数据性质的知识可以让你从行数近似千字节。
文章来源: Determine the size of a SQL result set in KB