sourcecode

mysql 테이블이 mysql을 사용하고 있는지 어떻게 알 수 있습니까?ISAM 또는 InnoDB 엔진

copyscript 2022. 12. 6. 22:08
반응형

mysql 테이블이 mysql을 사용하고 있는지 어떻게 알 수 있습니까?ISAM 또는 InnoDB 엔진

MySQL에서는 특정 데이터베이스의 스토리지 엔진을 지정할 수 없으며 단일 테이블에 대해서만 지정할 수 있습니다.그러나 다음 항목과 함께 한 세션 동안 사용할 스토리지 엔진을 지정할 수 있습니다.

SET storage_engine=InnoDB;

따라서 테이블별로 지정할 필요가 없습니다.

모든 테이블이 InnoDB를 사용하고 있는지 어떻게 확인할 수 있습니까?

SHOW CREATE TABLE을 사용하는 경우 쿼리에서 엔진을 해석해야 합니다.

INFORMATION_SCHEMA 데이터베이스에서 선택하는 것은 좋지 않습니다.개발자는 스키마를 언제든지 변경할 수 있는 권한을 가지고 있기 때문입니다(가능하지는 않지만).

사용할 올바른 쿼리는 SHOW TABLE STATUS입니다. 데이터베이스의 모든 테이블에 대한 정보를 얻을 수 있습니다.

SHOW TABLE STATUS FROM `database`;

또는 특정 테이블의 경우:

SHOW TABLE STATUS FROM `database` LIKE 'tablename';

반환되는 열 중 하나는 엔진입니다.

SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'db name' AND ENGINE != 'InnoDB'

show create table <table>효과가 있을 거야

언급URL : https://stackoverflow.com/questions/4515490/how-do-i-know-if-a-mysql-table-is-using-myisam-or-innodb-engine

반응형