오라클 쿼리 짤때 memory sort 비율 확인하는데요 0 3 2,669

by 치킨치킨 [Oracle 기초] [2017.02.16 22:32:54]


음.. 정확히는 sql보다는 튜닝 가능성때문에

sort시에 메모리 사용량을 확인하는데

메모리 sort 률 조회 쿼리를 보면 하단과 같습니다.

SELECT  DISK.VALUE DISK, MEM.VALUE MEM, trunc(100*(MEM.value-DISK.value)/(MEM.value),2) "SORT RATIO(%)"
FROM V$SYSSTAT MEM , V$SYSSTAT DISK 
WHERE MEM.NAME='sorts (memory)' 
AND DISK.NAME = 'sorts (disk)';

 

 

저는 위의 쿼리를 바꿔야 된다고 생각하는데 회원님들의 생각은 어떠신지요??

SELECT DISK.VALUE DISK, MEM.VALUE MEM, trunc(100*MEM.value/(MEM.value+DISK.value),2) "SORT RATIO(%)"
FROM V$SYSSTAT MEM , V$SYSSTAT DISK
WHERE MEM.NAME='sorts (memory)'
AND DISK.NAME = 'sorts (disk)'

 

 

by jkson [2017.02.17 08:03:33]

disk+memory sort량에서 memory sort량의 비중을 구하는 게 맞다면 저도 아래가 맞는 것 같네요.

첫 번째 것은 memory sort 값에 disk sort값이 포함되었다고 생각해서 만든 쿼리 같은데..

왠지 버퍼캐시히트율 구하는 공식과 헷갈려서 만든 쿼리 같아요. (논리읽기-물리읽기)/논리읽기*100


by 치킨치킨 [2017.02.17 21:59:22]

답변 감사합니다. 놀라운 점은 해외 블로그들도 위의 쿼리 방식으로 짜져있다는 점인데

참 혼란스럽습니다


by 타락천사 [2017.02.18 08:33:59]

https://docs.oracle.com/cd/B16240_01/doc/doc.102/e16282/oracle_database_help/oracle_database_instance_efficiency_inmem_sort_pct.html

Sorts in Memory (%) = (DeltaMemorySorts / (DeltaDiskSorts + DeltaMemorySorts)) * 100

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입