2013-03-21 3 views
0

ORMLite의 MySQL 드라이버는 기본적으로 InnoDB 테이블을 사용합니다. 이 설명서에서는 다른 테이블 유형을 사용하도록 구성하는 방법을 설명하지만 그 결과를 설명하지는 않습니다. 최근 InnoDB에 대한 나쁜 경험이 있었지만 최근 MyISAM으로 마이그레이션하고 싶습니다. MyISAM이 InnoDB에서 지원하는 몇 가지 기능이 부족하다는 것을 알고 있으므로 ORMLite의 모든 기능이 제대로 작동하는지 계속 확인하고 싶었습니다. 누구든지이 경험이 있습니까? 숨어있는 문제가 있습니까?MySQL과 MyISAM 테이블에서 ORMLite 사용하기

답변

1

죄송합니다 (FWIW, 내 응용 프로그램이 실패 한 명백한 기능입니다 거래의 특정 요구를하지 않습니다 알고)하지만 난 관점에서 InnoDBMyISAM의 차이에 대해 아무 생각이 없다 ORM의 나는 이니 ORMLite은 영향을받지 않을 것이라고 희망합니다. 테이블 유형이 내부 MySQL 지정이며 성능 또는 쿼리 동작에 영향을 줄 수 있음을 나타냅니다.

다음은 여기에 요약 할 good table of differences between the 2 types입니다.

  1. MyISAM이 더 오래된 반면 InnoDB는 최신 버전입니다.
  2. InnoDB는 더 복잡하고 MyISAM은 더 간단합니다.
  3. InnoDB는 MyISAM이 느슨한 동안 데이터 무결성이보다 엄격합니다.
  4. InnoDB는 삽입 및 업데이트를위한 행 수준의 잠금을 구현하며 MyISAM은 테이블 수준의 잠금을 구현합니다.
  5. InnoDB는 트랜잭션을 처리하지만 MyISAM은 트랜잭션을 처리하지 않습니다.
  6. InnoDB는 외래 키와 관계 조건을 가지고 있지만 MyISAM은 그렇지 않습니다. InnoDB는보다 나은 충돌 복구 기능을 제공하지만 MyISAM은 시스템 충돌시 데이터 무결성을 복구하는 데 열악한 편입니다.
  7. MyISAM은 전체 텍스트 검색 인덱스를 가지고 있지만 InnoDB는 그렇지 않습니다.

내가 쿼리 수준이 MyISAM 중 하나를 지원하지 않습니다 (2,013분의 3 기준) 외국 키 또는 제약 그러나 ORMLite을 지원하지 않는다는 것입니다 영향이 목록에 볼 수있는 유일한 것. MyISAM은 트랜잭션을 지원하지 않지만 ORMLite 없이는 ORMLite를 호출 할 수 있습니다.

내 머리 꼭대기에서 나는이 목록에서 ORM에 영향을 줄 수있는 것을 보지 않습니다. 그것은 테스트가 좋은 아이디어 일 것이라고 말했다. :-)

+0

감사합니다. 나는이 경험에 대해 좀 더 알고 싶을 때 어떤 피드백을 주 었는지를 기억하려고 노력할 것입니다. :) – Jules

관련 문제