게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
MySQL 전문가분들께 질문 있습니다.
게시물ID : programmer_10875짧은주소 복사하기
작성자 : 척추를접는다
추천 : 1
조회수 : 580회
댓글수 : 7개
등록시간 : 2015/06/05 11:20:44
옵션
  • 본인삭제금지
현재 이직 후에 기존 프로그램의 문제점을 해결해야하는 미션을 받았습니다. ( 경력자라 그냥 바로 미션 할당 -_- )
 
아직 새 근무환경 적응도 완벽하게 하지 못한지라, 업무 파악이 100% 이뤄지진 않았지만..
 
현재 프로그램의 문제는 이렇습니다.
 
1. MySQL DB 프로시저를 호출( 호출 주기 약 초당 3회이상 )
 
2. 프로시저 내용
 - SELECT 약 10회
 - DELETE 약 6회
 - UPDATE 약 4회
 - INSERT 약 6회
3. 현 시스템 상황
 - 클라이언트에서 PLC서버의 데이터 읽어들임 ->클라이언트에서 프로시저 호출
 
4. 문제점
 - 프로시저 호출이 잦고 프로시저 내용이 많아 프로시저가 큐에 쌓여서 누락되는 경우가 자주 발생
 - 처음 프로시저가 호출되고, 두번째 프로시저가 처음 프로시저가 처리가 되기전에 DB에서 대기상태로 있는듯..
 
5. 해결방안추측
 - 프로시저의 일부 또는 전체 로직을 외부 프로그램에서 처리
 - 현 클라이언트에서 DB의 처리 결과를 받은 후, 정상 처리 되어야만 다음 데이터를 송신하도록 변경
 - MySQL -> ORACLE 가 해결책이 될 수 있겠지만, 비용문제로 일단 제외
 - DB튜닝 등
 
 
대략 이런 내용입니다.
 
저도 구글링 해서 찾아보고 이래저래 연구해본 결과, MySQL 태생적 한계라고 판단되고, 프로시저로 처리할 양이 많아질수록 느려진다고 하더군요.
결국 프로그램단에서 처리를 하고 단순 INSERT, UPDATE, DELETE 만 프로시저에서 처리한다던지 해야할 것 같습니다만,
 
질문의 요점은 이겁니다.
 "MySQL에서 프로시저를 사용해 데이터가 누락되거나 성능 저하 현상이 발생하는데, 그 프로시저를 프로그램으로 빼내서 처리하는 방식으로 바꾼다면
위 문제점들이 해결이 될 것인가?"
 
아직 많이 미숙한지라 질문도 미숙할 지도 모르겠습니다만, 전문가분들 의견도 한번 들어보고 싶어서 이렇게 글을 남깁니다.
 
자주 이 글에 억세스 해서 확인 하겠습니다.
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호