innoDB 테이블에서 트랜잭션 지원을 테스트하고 있었지만, 다소 혼란 스러움 때문에 MyIsam 테이블에서 동일한 트랜잭션을 실행하려고했지만 놀랍게도 효과가있었습니다. 나는 myIsam 테이블 쿼리가 하나의 원자 연산이 아닌 하나씩 실행되고 START TRANSACTION 및 COMMIT 및 ROLLBACK 연산에서 오류가 발생하지 않는다고 가정합니다. MyIsam 엔진이이 작업을 무시하는 것입니까 아니면 일부 작업을 수행합니까?MyIsam 엔진 트랜잭션 지원
20
A
답변
26
MyISAM은 자동 커밋 모드 (트랜잭션 엔진이 아니기 때문에)에서 효과적으로 작동하며 커밋/롤백을 무시합니다.
실제로 스토리지 엔진은 SQL 구문 분석기와 분리 된 MySQL 아키텍처의 다른 계층이며 SQL 계층은 저수준 API를 사용하여 저장소 엔진과 통신하기 때문에 일반적인 SQL과 엔진이 서로 다른 추천의 하위 집합. 아키텍처에 대한 매우 높은 수준의 개요를 볼 수 있습니다. here
2
MyIsam 테이블은이 용도로 설계되지 않았습니다. 5+ 버전조차도. 그것은 단지 데이터를 저장하기위한 것입니다. 그것은 당신에게 거래 나 데이터 복구를 보장하지 않습니다. 이것을 위해 InnoDB를 사용해야하며, 필요한 경우 MyIsam을 복제 목적으로 사용해야합니다 (크로스 테이블 검사가 없으므로 MyIsam 테이블로 데이터를 검색하는 것이 더 빠릅니다).
당신은 http://forums.mysql.com/read.php?21,68686,69229#msg-69229
관련 문제
- 1. 봄 3 트랜잭션 지원
- 2. activemq 트랜잭션 지원
- 3. struts2의 트랜잭션 지원
- 4. MySQL의 MSDTC (분산 트랜잭션) 지원
- 5. 트위스트 된 adbapi의 트랜잭션 지원
- 6. J2EE 1.4의 중첩 트랜잭션 지원
- 7. 관찰 가능한 컬렉션에서의 트랜잭션 지원
- 8. MySQL의 테이블 (의 MyISAM 엔진)에 TableName.MYD.filepart 파일
- 9. MySql 단일 행 크기 (엔진 MyISAM)를 계산하는 수식
- 10. MySQL 데이터베이스 엔진 : info_schema는 MyISAM, 다른 데이터베이스는 InnoDB
- 11. JDO 애플리케이션 엔진 트랜잭션 처리 방법 ConcurrentModificationException
- 12. 구글 애플 리케이션 엔진 트랜잭션 입도
- 13. Bea Weblogic에서 스프링 중첩 트랜잭션 지원 10.3
- 14. .NET 용 대체 정규식 엔진, 재귀 지원
- 15. jQuery 유효성 검사 엔진 (언어 지원 추가)
- 16. MySQL 스토리지 엔진 딜레마
- 17. MySQL 백엔드가있는 JPA2 : MyISAM 또는 InnoDB
- 18. InnoDB 테이블과 MyIsam 테이블의 조합 사용
- 19. MySQL에서 트랜잭션 안전 시퀀스 에뮬레이트
- 20. myisam sql을 서버에 추가하지 못했습니다. 5.5
- 21. 요청 시간이 초과되면 트랜잭션 동작. [구글 앱 엔진]
- 22. Google 애플리케이션 엔진 데이터 저장소의 중첩 된 트랜잭션 3
- 23. MySQL의 - 이노의 MyISAM
- 24. rsync 및 MyISAM 테이블
- 25. MyIsam & Innodb를 모두 사용
- 26. 거래가없는 경우 (MyISAM)
- 27. mysql myisam 업데이트
- 28. MySQL MyISAM 관계 다이어그램
- 29. InnoDB 대 MyISAM
- 30. MySQL MyISAM 테이블 잠금
MySQL의 에서이 포스트를 읽을 수 있습니다 당신은 DML 문 또는 구문 오류를 얻을하지 않았다 롤백 할 수 있었던 것을 의미한다 "일"은? –
간단한 select 및 insert 문을 수행했지만 오류가 발생하지 않았습니다. – Headshota
그러면 @ Darhazer의 대답을 참조하십시오. 오류는 발생하지 않지만 실제로 거래하지는 않습니다. 'INSERT'는'ROLLBACK'을 발행 할 때 취소되지 않습니다. –