>  기사  >  백엔드 개발  >  PHP 인터뷰 질문 8: innoDB와 myisam의 차이점

PHP 인터뷰 질문 8: innoDB와 myisam의 차이점

不言
不言원래의
2018-04-18 09:57:0011623검색

이 글은 여덟 번째 PHP 인터뷰 질문에서 innoDB와 myisam의 차이점을 소개합니다. 이제 특정 참조 값을 가지고 있습니다. 필요한 친구들이 참조할 수 있습니다.

InnoDB:
트랜잭션 처리 등을 지원합니다.
추가되지 않음 잠금 읽기
외래 키 지원
행 잠금 지원
FULLTEXT 유형 인덱스를 지원하지 않음
테이블의 특정 행 수를 저장하지 않고 테이블을 스캔하여 행 수를 계산합니다.
테이블 DELETE 시 삭제됩니다. 행을 하나씩
InnoDB는 데이터와 인덱스를 결합하여 테이블스페이스에 저장
플랫폼 전반에 걸쳐 직접 복사 및 사용 가능
InnoDB는 AUTO_INCREMENT 유형 필드의 인덱스를 포함해야 함
테이블은 압축하기 어렵습니다

MyISAM:
지원하지 않음 트랜잭션 롤백은 불완전한 롤백을 유발하며 원자적이지 않습니다.
외래 키를 지원하지 않습니다
외래 키를 지원하지 않습니다
전체 텍스트 검색을 지원합니다
테이블에 특정 행 수를 저장하고, 어디에 저장하지 않고 저장된 행 수를 직접 반환합니다. 행
테이블을 삭제하는 경우 먼저 테이블을 삭제한 다음 테이블을 다시 빌드하세요.
MyISAM 테이블은 세 개의 파일에 저장됩니다. frm 파일은 테이블 정의를 저장합니다. 데이터 파일은 MYD(MYData)입니다. 인덱스 파일은 MYI(MYIndex)의 확장입니다
플랫폼 간에 직접 복사하기는 어렵습니다.
MyISAM에서는 AUTO_INCREMENT 유형 필드를 사용하여 공동 인덱스를 생성할 수 있습니다.
테이블을 압축할 수 있습니다

선택:
MyISAM은 상대적으로 간단하므로, 효율성 측면에서 InnoDB보다 낫습니다. 시스템이 더 많이 읽고 더 적게 씁니다. 낮은 원자성 요구 사항. 그렇다면 MyISAM이 최선의 선택입니다. 그리고 MyISAM 복구 속도가 빠릅니다. 백업으로 직접 덮어쓰고 복원할 수 있습니다.
시스템이 더 적게 읽고 더 많이 쓰는 경우, 특히 동시 쓰기가 높은 경우. InnoDB가 첫 번째 선택입니다.
두 가지 유형 모두 고유한 장점과 단점이 있습니다. 어떤 유형을 선택하느냐는 전적으로 귀하의 실제 유형에 따라 다릅니다.

InnoDB:
트랜잭션 처리 등을 지원합니다.
잠금 없이 읽기
외래 키 지원
행 잠금 지원
FULLTEXT 유형 인덱스를 지원하지 않습니다.
테이블에 특정 행 수를 저장하지 않고 테이블을 스캔하여 행 잠금 수를 계산합니다.
DELETE 테이블은 행 단위로 삭제하는 것입니다
InnoDB는 데이터와 인덱스를 테이블 스페이스에 저장합니다.
크로스 플랫폼은 직접 복사하여 사용할 수 있습니다.
InnoDB는 AUTO_INCREMENT 유형 필드의 인덱스를 포함해야 합니다.
테이블이 어렵습니다. 압축됨

MyISAM:
트랜잭션을 지원하지 않으며 롤링하면 불완전한 롤백이 발생하며 원자적이지 않습니다.
외래 키를 지원하지 않습니다.
전체 텍스트 검색을 지원합니다. 위치가 없으면 저장된 행 수가 직접 반환됩니다. 먼저 테이블을 삭제한 다음 테이블을 다시 작성하세요.
MyISAM 테이블은 세 개의 파일에 저장됩니다. frm 파일은 테이블 정의를 저장합니다. 데이터 파일은 MYD(MYData)입니다. 인덱스 파일은 MYI(MYIndex)의 확장입니다
플랫폼 간에 직접 복사하기는 어렵습니다.
MyISAM에서는 AUTO_INCREMENT 유형 필드를 사용하여 공동 인덱스를 생성할 수 있습니다.
테이블을 압축할 수 있습니다

선택:
MyISAM은 상대적으로 간단하므로, 효율성 측면에서 InnoDB보다 낫습니다. 시스템이 더 많이 읽고 더 적게 씁니다. 낮은 원자성 요구 사항. 그렇다면 MyISAM이 최선의 선택입니다. 그리고 MyISAM 복구 속도가 빠릅니다. 백업으로 직접 덮어쓰고 복원할 수 있습니다.

시스템이 더 적게 읽고 더 많이 쓰는 경우, 특히 동시 쓰기가 높은 경우. InnoDB가 첫 번째 선택입니다.

두 가지 유형 모두 고유한 장점과 단점이 있습니다. 어떤 유형을 선택하느냐는 전적으로 귀하의 실제 유형에 따라 다릅니다.

관련 추천:

php 인터뷰 질문 7: nginx에서 로드 밸런싱을 구성하는 방법

php 인터뷰 질문 6: memcache와 redis의 차이점

php 인터뷰 질문 5: nginx가 php와 php를 호출하는 방법 -fpm 기능 및 작동 원리

위 내용은 PHP 인터뷰 질문 8: innoDB와 myisam의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.