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) 명령어
[공지] 기술 게시판
4.28
4.29
4.30
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25
5.26
5.27
5.28
5.29
5.30
5.31
6.1