2012-05-10 2 views
4

MySQL 쿼리에서 서버 상태 변수를 사용할 수 있습니까?쿼리에서 MySQL 상태를 얻는 방법

나는 '쇼 상태'에서 다양한 통계를 볼 수 있지만 내가 어떻게 파생 된 값 (예를 들어, 쿼리 캐시의 히트 율)

show global status like 'Qcache_inserts'; 
show global status like 'Qcache_not_cached'; 
show global status like 'Qcache_hits'; 

호 내가해서 qcache_hits/(해서 qcache_hits + Qcache_inserts + Qcache_not_cached)을받을 수 있나요 계산합니까?

답변

5

은 일반적으로 당신이 선택으로 인해 그 정보에 액세스 할 수 있습니다 : 예 당신이 할 수있는

select (g1.VARIABLE_VALUE/(g1.VARIABLE_VALUE + g2.VARIABLE_VALUE + g3.VARIABLE_VALUE)) as result 
FROM INFORMATION_SCHEMA.GLOBAL_STATUS g1 
inner join INFORMATION_SCHEMA.GLOBAL_STATUS g2 
inner join INFORMATION_SCHEMA.GLOBAL_STATUS g3 
where g1.VARIABLE_NAME = 'Qcache_hits' 
and g2.VARIABLE_NAME = 'Qcache_inserts' 
and g3.VARIABLE_NAME = 'Qcache_not_cached' 
+0

실종! "5.1.12에 추가하고 5.0을 얻었습니다. ( – symcbean

0

:

SELECT 
    VARIABLE_NAME, 
    VARIABLE_VALUE 
FROM 
    INFORMATION_SCHEMA.GLOBAL_STATUS 

당신은 다음과 같이 원하는 계산을 만들 수 있습니다. "SHOW STATUS"대신 "SELECT VARIABLE_VALUE FROM GLOBAL_STATUS"를 사용하고 다른 표와 같이 진행하십시오.

이 테이블은 INFORMATION_SCHEMA 데이터베이스에 있습니다.

예 쿼리 :이 도움이

SELECT VARIABLE_VALUE FROM GLOBAL_STATUS WHERE VARIABLE_NAME="Qcache_inserts" 

희망!

관련 문제