KB에서 세트 세트 세트의 SQL 결과 크기 결정
문제
oracledb에서 설정된 결과의 KB 크기를 얻을 수있는 방법을 찾기를 바라고 있습니다. 나는 sysadmin이 아니지만 종종 100k 이상의 행을 반환하는 쿼리를 실행하며 총 KB 크기가 무엇인지 결정하는 방법을 찾아야합니다. 감사합니다
해결책
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 역할이 필요합니다. 더 찾아 봐.
다른 팁
일반적으로 열 목록을 count(*)
행 카운트를 반환합니다.
나는 그것이 많은 결합 등으로 실제로 복잡한 쿼리에서 얼마나 잘 작동할지 잘 모르겠지만, 더 간단한 쿼리의 경우 괜찮을 것입니다. 바꾸다:
select a,b,c from t where a > 7;
~와 함께
select count(*) from t where a > 7;
실제 쿼리를 실행하기 전에 행 계산을 줄 것입니다. 데이터가 카운트 쿼리와 실제 쿼리간에 변경 될 가능성이 있음을 명심하십시오 (희망적으로는 그리 많지 않음). 데이터 속성에 대한 지식을 통해 행 카운트에서 킬로바이트를 근사화 할 수 있습니다.
제휴하지 않습니다 StackOverflow