[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> 

특정 테이블에 대해서만 그렇게 할 것입니다.