[mysql] 특정 테이블의 MySQL 엔진 유형을 어떻게 확인할 수 있습니까?
내 MySQL 데이터베이스에는 다른 스토리지 엔진 (특히 myisam 및 innodb)을 사용하는 여러 테이블이 있습니다. 어떤 엔진이 어떤 엔진을 사용하고 있는지 어떻게 알 수 있습니까?
답변
SHOW TABLE STATUS WHERE Name = 'xxx'
이것은 당신에게 (다른 것들 중에서) Engine
당신에게 원하는 열 을 줄 것 입니다.
답변
데이터베이스 및 엔진의 모든 테이블 목록을 표시하려면 다음 SQL 쿼리를 사용하십시오.
SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'dbname';
교체 dbname
데이터베이스 이름.
답변
SHOW CREATE TABLE <tablename>;
보다 구문 분석이 가능하지만 읽기가 쉽습니다 SHOW TABLE STATUS
.
답변
아니면 그냥
show table status;
데이터베이스의 모든 테이블을 표시합니다.
답변
Jocker의 답변을 약간 수정했습니다 (댓글로 게시하지만 아직 업장이 충분하지 않습니다).
SELECT TABLE_NAME, ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'database' AND ENGINE IS NOT NULL;
엔진이없는 목록에서 MySQL 뷰가 제외됩니다.
답변
SHOW CREATE TABLE <tablename>\G
의 출력에 비해 훨씬 더 좋은 형식입니다
SHOW CREATE TABLE <tablename>;
이 \G
트릭은 또한 다른 많은 쿼리 / 명령을 기억하는 데 유용합니다.
답변
mysqlshow -i <database_name>
특정 데이터베이스의 모든 테이블에 대한 정보가 표시됩니다.
mysqlshow -i <database_name> <table_name>
특정 테이블에 대해서만 그렇게 할 것입니다.