MySQL | MariaDB
[MariaDB] 존재하는 인덱스 모두 조회 (SELECT ALL INDEXES)
binaryJournalist
2024. 5. 16. 16:43
반응형
철수 전 기록 남기기 - 1.
SELECT INDEX_SCHEMA
, INDEX_NAME
, GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX) AS INDEX_COLUMNS
, INDEX_TYPE
, CASE NON_UNIQUE WHEN 1 THEN 'NON_UNIQUE' ELSE 'UNIQUE' END AS IS_UNIQUE
, TABLE_NAME
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA NOT IN ('INFORMATION_SCHEMA', 'MYSQL', 'PERFORMANCE_SCHEMA', 'SYS')
AND INDEX_NAME NOT IN ('PRIMARY')
GROUP BY INDEX_SCHEMA
, INDEX_NAME
, INDEX_TYPE
, NON_UNIQUE
, TABLE_NAME
ORDER BY INDEX_SCHEMA
, INDEX_NAME;
PRIMARY KEY 까지 필요할 시 조건절만 수정하면 된다.
각 컬럼에 대한 설명은 이렇다.
Columns
- index_schema - index schema (database)
- index_name - name of the index
- index_columns - list of index columns separated by ","
- index_type
- BTREE
- RTREE
- FULLTEXT
- HASH
- SPATIAL
- is_unique - whether index is unique
- Unique
- Not unique
- table_name - name of the table
* 참고 : https://dataedo.com/kb/query/mariadb/list-all-indexes-in-the-database
반응형