반응형
mysql 테이블이 myISAM 또는 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';
다시 보게 될 열 중 하나는 Engine입니다.
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'db name' AND ENGINE != 'InnoDB'
show create table <table>
트릭을해야합니다.
반응형
'developer tip' 카테고리의 다른 글
파이썬에서 클래스의 파일 경로를 어떻게 얻습니까? (0) | 2020.10.10 |
---|---|
Markdown / Textile을 HTML로 변환하는 Javascript (이상적으로는 Markdown / Textile로 다시 변환) (0) | 2020.10.10 |
EF 4.1에 엔터티를 삽입하는 것이 ObjectContext에 비해 느린 이유는 무엇입니까? (0) | 2020.10.10 |
배열을 jQuery .data () 속성에 전달하는 방법 (0) | 2020.10.10 |
R 내에서 깨끗한 R 세션을 종료하고 다시 시작 하시겠습니까? (0) | 2020.10.10 |