确定KB集的SQL结果的大小(Determine the size of a SQL result

2019-07-17 17:23发布

我希望能找到我怎样才能在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