mysql, mariadb 인덱스가 퍼버에 들어있는가?를 체크하는 쿼리

SELECT f.*,IFNULL(in_buffer,'OFF') AS in_buffer FROM 
(SELECT b.TABLE_CATALOG,b.TABLE_SCHEMA, b.TABLE_NAME,ENGINE,b.INDEX_NAME
FROM `information_schema`.`TABLES` a
JOIN `information_schema`.`STATISTICS` b USING(TABLE_CATALOG,TABLE_SCHEMA, TABLE_NAME)
WHERE ENGINE = 'InnoDB'
GROUP BY 1,2,3,4,5) AS f
LEFT JOIN (SELECT TABLE_NAME , INDEX_NAME, IF(COUNT(*)>0,'ON','OFF') AS 'in_buffer' FROM `information_schema`.`INNODB_BUFFER_PAGE` WHERE PAGE_TYPE = 'INDEX' GROUP BY 1,2) AS c
ON(c.TABLE_NAME = CONCAT('`',f.TABLE_SCHEMA,'`.`',f.TABLE_NAME,'`') AND c.INDEX_NAME = f.INDEX_NAME)

ORDER BY 1,2,3,4,5
;

MyISAM 은 방법 없는 듯
댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14
2.15
2.16
2.17
2.18
2.19
2.20
2.21
2.22
2.23
2.24
2.25
2.26
2.27
2.28