특정 테이블의 MySQL 엔진 유형을 확인하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/213543

  •  03-07-2019
  •  | 
  •  

문제

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;

이것은 데이터베이스의 모든 테이블을 llist다는 것입니다.

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> 

특정 테이블을 위해서만 그렇게합니다.

MySQL 워크 벤치를 사용하는 경우 테이블을 마우스 오른쪽 버튼으로 클릭하고 'Alter Table'을 선택할 수 있습니다.

그 창에서 테이블 엔진을보고 변경할 수도 있습니다.

Linux 사용자 인 경우 :

테이블이없는 MySQL 서버의 모든 데이터베이스에 대한 모든 테이블의 엔진을 표시하려면 information_schema, mysql, performance_schema:

less < <({ for i in $(mysql -e "show databases;" | cat | grep -v -e Database-e information_schema -e mysql -e performance_schema); do echo "--------------------$i--------------------";  mysql -e "use $i; show table status;"; done } | column -t)

적어도 Linux에 있다면 이것을 좋아할 것입니다.

모든 테이블에 대한 모든 정보를 엽니 다 less, 누르다 -S 지나치게 긴 줄을 자르기 위해.

예제 출력 :

--------------------information_schema--------------------
Name                                                        Engine              Version  Row_format  Rows   Avg_row_length  Data_length  Max_data_length     Index_length  Data_free  Auto_increment  Create_time  Update_time  Check_time  C
CHARACTER_SETS                                              MEMORY              10       Fixed       NULL   384             0            16434816            0             0          NULL            2015-07-13   15:48:45     NULL        N
COLLATIONS                                                  MEMORY              10       Fixed       NULL   231             0            16704765            0             0          NULL            2015-07-13   15:48:45     NULL        N
COLLATION_CHARACTER_SET_APPLICABILITY                       MEMORY              10       Fixed       NULL   195             0            16357770            0             0          NULL            2015-07-13   15:48:45     NULL        N
COLUMNS                                                     MyISAM              10       Dynamic     NULL   0               0            281474976710655     1024          0          NULL            2015-07-13   15:48:45     2015-07-13  1
COLUMN_PRIVILEGES                                           MEMORY              10       Fixed       NULL   2565            0            16757145            0             0          NULL            2015-07-13   15:48:45     NULL        N
ENGINES                                                     MEMORY              10       Fixed       NULL   490             0            16574250            0             0          NULL            2015-07-13   15:48:45     NULL        N
EVENTS                                                      MyISAM              10       Dynamic     NULL   0               0            281474976710655     1024          0          NULL            2015-07-13   15:48:45     2015-07-13  1
FILES                                                       MEMORY              10       Fixed       NULL   2677            0            16758020            0             0          NULL            2015-07-13   15:48:45     NULL        N
GLOBAL_STATUS                                               MEMORY              10       Fixed       NULL   3268            0            16755036            0             0          NULL            2015-07-13   15:48:45     NULL        N
GLOBAL_VARIABLES                                            MEMORY              10       Fixed       NULL   3268            0            16755036            0             0          NULL            2015-07-13   15:48:45     NULL        N
KEY_COLUMN_USAGE                                            MEMORY              10       Fixed       NULL   4637            0            16762755            0 

.
.
.

또 다른 방법, 아마도 단일 또는 일치하는 테이블 세트의 상태를 얻기가 가장 짧은 방법 :

SHOW TABLE STATUS LIKE 'table';

그런 다음 예를 들어 연산자처럼 사용할 수 있습니다.

SHOW TABLE STATUS LIKE 'field_data_%';

Database_Name에서 테이블 상태 표시;

언급 된 데이터베이스의 모든 테이블을 나열합니다.
예제 출력

sample output of mysql db

이름 = your_desired_table_name이있는 경우 테이블 상태를 표시합니다.

언급 된 테이블에서 사용되는 저장 엔진이 표시됩니다.

information_schema 데이터베이스로 이동하여 '테이블'테이블을 찾은 다음 선택할 수 있습니다.

mySQL> 사용 information_schema; mysql> 선택 테이블 _ame, 테이블에서 엔진;

당신이 구이 가이와 그냥 찾고 싶어 phpmyadmin, 당신이 선택한 테이블을 선택하고 Operations 탭 >> Table options >> Storage Engine. 드롭 다운 옵션 목록을 사용하여 변경할 수도 있습니다.

추신 :이 안내서는 Phpmyadmin의 버전 4.8을 기반으로합니다. 매우 오래된 버전의 경우 동일한 경로를 보장 할 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top