간단히 대답하면 테이블 유형에 따라 달라집니다. 기본값 인 MyISAM을 사용하고 있다면 실제로 거래가 없기 때문에 은이어야 성능에 영향을 미치지 않습니다.
그러나 어쨌든을 사용해야합니다. 거래가 없다면 일의 경계가 없습니다. InnoDB 또는 PostgreSQL과 같은 실제 데이터베이스로 업그레이드하는 경우, 어쨌든 이러한 트랜잭션을 서비스 메소드에 추가하는 것이 좋을 것입니다. 따라서 비용이 들지 않으면서도 습관화 할 수 있습니다.
게다가 트랜잭션 저장소를 이미 사용해야합니다. 현재 서비스 방법이 실패하면 어떻게 정리합니까? 데이터베이스에 정보를 쓰고 서비스 메서드가 예외를 throw하면 불완전하거나 잘못된 정보를 어떻게 정리할 수 있습니까? 트랜잭션을 사용 중이라면 데이터베이스가 롤백 된 데이터를 버릴 필요가 없습니다. 또는 방법을 통해 중도에 있고 또 다른 요청이 들어 와서 내 절반 씩 작성된 데이터를 찾으면 무엇을합니까? 아직 다른 반쪽을 찾고있을 때 폭파 할 것인가? 트랜잭션 데이터 저장소가이를 처리합니다. 즉, 트랜잭션이 서로 격리되어 다른 사람이 부분적으로 작성된 트랜잭션을 볼 수 없습니다.
데이터베이스가있는 모든 것과 마찬가지로 현실적인 데이터와 실제로드로 테스트 한 결과가 유일한 답입니다. 데이터베이스에 관해서는 데이터가 클 때와 그렇지 않을 때 매우 다른 코드 경로가 활성화되기 때문에 항상 의심스러운 작업을 수행하는 것이 좋습니다. 그러나 InnoDB를 사용해도 트랜잭션을 사용하는 데 드는 비용은 크지 않다고 생각합니다. 결국, 이러한 시스템은 잘 수행되는 트랜잭션에 의존하는 크고 작은 조직에 의해 매일 매일 지속적으로 많이 사용됩니다. MVCC는 오버 헤드를 거의 추가하지 않습니다. 혜택은 광대하며, 비용은 저렴합니다.
우리는 InnoDB를 사용하고 있으며, 논쟁은 나에게 손실되지 않습니다. 성능상의 문제가 발생하지 않는다는 증거를 찾아야합니다. 어쩌면 테스트 할 수도 있습니다 (하지만 많은 작업이 필요합니다). 나는 이미 그 문제를 해결할 시간을 이미 보냈던 누군가로부터 좋은 기사 나 블로그를 선호한다. –
내가 말했듯이, 당신이 의지해야 할 유일한 증거는 당신의 실험적 증거입니다. –