programing

내 테이블이 MyISAM인지 Innodb인지 확인하려면 어떻게 해야 합니까?

css3 2023. 7. 24. 22:41

내 테이블이 MyISAM인지 Innodb인지 확인하려면 어떻게 해야 합니까?

중복 가능성:
MySQL 엔진 유형에서 특정 테이블을 확인하려면 어떻게 해야 합니까?

사용자가 다음 명령을 따르는 테이블이라고 가정하면 사용자 테이블이 MyISAM인지 Innodb인지 알 수 없습니다.

desc users; 

사용자 테이블 유형을 어떻게 찾습니까?

를 사용하여 테이블 정보를 볼 수 있습니다.

SHOW TABLE STATUS WHERE `Name` = 'my_table';

값을 확인하기만 하면 됩니다.Engine테이블에서 사용 중인 엔진을 알 수 있도록 반환된 데이터 집합의 열을 표시합니다.

SELECT ENGINE
FROM INFORMATION_SCHEMA.TABLES 

WHERE TABLE_NAME='your_table_name'
AND   TABLE_SCHEMA='your_database_name';
-- or use TABLE_SCHEMA=DATABASE() if you have a default one.

사용할 수 있습니다.SHOW CREATE TABLE그리고 그것을 찾습니다.ENGINE응답에 참여합니다.

SHOW CREATE TABLE users;

예:

CREATE TABLE innodb_table (id int, value int) ENGINE=INNODB;
CREATE TABLE myisam_table (id int, value int) ENGINE=MYISAM;
CREATE TABLE default_table (id int, value int);

결과:innodb_table:

SHOW CREATE TABLE innodb_table;
+--------------+----------------------------------------------------------------------------------------------------------------------------------+
| Table        | Create Table                                                                                                                     |
+--------------+----------------------------------------------------------------------------------------------------------------------------------+
| innodb_table | CREATE TABLE `innodb_table` (
  `id` int(11) DEFAULT NULL,
  `value` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+--------------+----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

결과:myisam_table:

SHOW CREATE TABLE myisam_table;
+--------------+----------------------------------------------------------------------------------------------------------------------------------+
| Table        | Create Table                                                                                                                     |
+--------------+----------------------------------------------------------------------------------------------------------------------------------+
| myisam_table | CREATE TABLE `myisam_table` (
  `id` int(11) DEFAULT NULL,
  `value` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+--------------+----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

결과:default_table:

SHOW CREATE TABLE default_table;
+---------------+-----------------------------------------------------------------------------------------------------------------------------------+
| Table         | Create Table                                                                                                                      |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------+
| default_table | CREATE TABLE `default_table` (
  `id` int(11) DEFAULT NULL,
  `value` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

언급URL : https://stackoverflow.com/questions/3681790/how-do-i-find-if-my-a-table-is-myisam-or-innodb