6

MySQLクエリでサーバーステータス変数を使用することは可能ですか?

'show status'からさまざまなメトリックを確認できますが、派生値を計算するにはどうすればよいですか(クエリキャッシュのヒット率など)

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)を取得するにはどうすればよいですか?

4

2 に答える 2

6

通常、この選択によりその情報にアクセスできます。

SELECT
   VARIABLE_NAME,
   VARIABLE_VALUE
 FROM
   INFORMATION_SCHEMA.GLOBAL_STATUS

次のように、必要な計算を行うことができます。

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'
于 2012-05-10T10:43:33.463 に答える
0

はい、できます。「SHOW STATUS」の代わりに「SELECT VARIABLE_VALUE FROM GLOBAL_STATUS」を使用して、他のテーブルと同様に処理を進めます。

このテーブルはINFORMATION_SCHEMAデータベースにあります。

クエリの例:

SELECT VARIABLE_VALUE FROM GLOBAL_STATUS WHERE VARIABLE_NAME="Qcache_inserts"

お役に立てれば !

于 2012-05-10T11:04:37.437 に答える