로 도와주세요 :
mysql> SHOW ENGINE INNODB STATUS\G
...
--------
FILE I/O
--------
I/O thread 0 state: waiting for i/o request (insert buffer thread)
I/O thread 1 state: waiting for i/o request (log thread)
I/O thread 2 state: waiting for i/o request (read thread)
I/O thread 3 state: waiting for i/o request (read thread)
I/O thread 4 state: waiting for i/o request (read thread)
I/O thread 5 state: waiting for i/o request (read thread)
I/O thread 6 state: waiting for i/o request (write thread)
I/O thread 7 state: waiting for i/o request (write thread)
I/O thread 8 state: waiting for i/o request (write thread)
I/O thread 9 state: waiting for i/o request (write thread)
Pending normal aio reads: 0 [0, 0, 0, 0] , aio writes: 0 [0, 0, 0, 0] ,
ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0
Pending flushes (fsync) log: 0; buffer pool: 0
431 OS file reads, 69 OS file writes, 53 OS fsyncs
0.00 reads/s, 0 avg bytes/read, 0.00 writes/s, 0.00 fsyncs/s
...
내가 위에서이 있었다 69 OS 파일이 기록을 참조하십시오. 내 노트북에서 실행되는 sandbox MySQL 인스턴스에서이 정보를 얻었으므로 위의 수치는 작습니다. 그리고 오래 실행되지 않았습니다.
위의 JimGarrison에 의해 설명 되었 듯이, INNODB STATUS에 의해보고 된 대부분의 정보는 INFORMATION_SCHEMA.INNODB_METRICS 테이블의 개별 행으로 사용할 수도 있습니다. SHOW ENGINE INNODB STATUS보다 자바에서 사용하는 것이 훨씬 쉽고 텍스트를 파싱하려고합니다.
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_METRICS
WHERE NAME = 'os_data_writes'\G
NAME: os_data_writes
SUBSYSTEM: os
COUNT: 69
MAX_COUNT: 69
MIN_COUNT: NULL
AVG_COUNT: 0.0034979215248910067
COUNT_RESET: 69
MAX_COUNT_RESET: 69
MIN_COUNT_RESET: NULL
AVG_COUNT_RESET: NULL
TIME_ENABLED: 2017-12-22 10:27:50
TIME_DISABLED: NULL
TIME_ELAPSED: 19726
TIME_RESET: NULL
STATUS: enabled
TYPE: status_counter
COMMENT: Number of writes initiated (innodb_data_writes)
읽기는 https://dev.mysql.com/doc/refman/5.7/en/innodb-information-schema-metrics-table.html
내가 Java 코드를 표시하지 않습니다, 당신은 이미 쿼리를 실행하고 결과를 가져 오는 방법을 알고있다. 이 문은 SELECT
쿼리를 실행하는 것과 같은 방법으로 SQL 문으로 실행할 수 있습니다.
코드에 어떤 문제가 있습니까? 참고 :'rs.getString (1) .equals ("Innodb")'와 같은 문자열을 대신 비교하십시오. –
위의 코드에 문제가 없습니다. Innodb를 사용하여 MySQL이 디스크 쓰기 총 수를 얻는 기능을 추가하고 싶습니다. –
그래서 Innodb을 사용하여 테이블 디스크의 크기를 얻고 싶습니까? –