CI 묻고 답하기

제목 액티브레코드 트랜젝션을 사용하면 성능이 많이 떨어지나요???
글쓴이 반달 작성시각 2015/07/21 20:17:19
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 14263   RSS
insert, update, delete 등 사용할때 
쿼리가 제대로 실행됬는지를 확인하기위해 주로 트랜젝션을 사용해서 확인을 하려고합니다...

그래서 거의 모든 쿼리에 트랜젝션이 사용되고있는데 이렇게 되면 

성능이 많이 떨어질까요???

아니면 다른방법이 있을까요?

$this->db->affected_rows() 나 $this->db->insert_id() 를 사용을 해서 확인하려고하는데
이전 쿼리 성공한 값이 나와버려서 제대로 확인하기가 힘들더군요...

그래서 트랜젝션을 사용하려고하는데 어떤가요?
 다음글 기존 라이브러리 확장 사용 질문 (5)
 이전글 변수관련 두번째 질문 (2)

댓글

변종원(웅파) / 2015/07/21 22:53:23 / 추천 0
말씀하신 함수들은 가장 최근의 실행에 대한 결과를 보여줍니다. 이전 결과가 나온다면 뭔가 잘못하고 계신 겁니다.

$result = $query->result_array();
$last_id = $this->db->insert_id();
이렇게 써야합니다.

트랜잭션은 AR 아니더래도 서버자원을 사용합니다. 그런 용도로 트랜잭션을 사용하는건 좀 과합니다.

 
들국화 / 2015/07/22 09:53:56 / 추천 0
트렌젝션의 정확한 용도를 잘 모르시는것 같네요.
엔진에 따라 트렌젝션이 지원안될수도 있고 락킹이 걸려 서비스가 행온이 걸릴수도 있습니다.
sp를 활용하는 것도 한 방법일수 있습니다.