2017년 10월 22일 일요일

Real MySQL 13장[프로그램 연동] 정리 ...작성 중

수업 때 사용한 개발자와 DBA를 위한 Real MySQL책에서 이부분들을 학습/정리해보자.

13장 프로그램 연동
14장 데이터 모델링
16장 베스트 프랙티스

프로그램 연동

책에서는 JDBC 드라이버나 MySQL의 C API를 이용해 프로그램을 작성할 때의 2가지를 소개하고 있다.


자바

자바 프로그램 언어로 MySQL 데이터베이스에 접속해서 SQL을 실행하려면 자바에서 제공하는 접속 API인 JDBC를 이용해야한다. 

연결하는 방식은 예전에 JSP로 DB연동할때랑 똑같은 것 같다.


*Statement와 PreparedStatement 차이
MySQL서버로 쿼리를 요청하면 MySQL 서버는 쿼리를 분석해 파스 트리를 만들고 그 정보를 분석해 권한 체크나 쿼리의 최적화 작업을 수행한다. 그리고 최종적으로 준비된 쿼리의 실행 계획을 이용해 쿼리를 실행한다.
요청> 쿼리 분석 > 최적화 > 권한 체크 > 쿼리 실행

하지만 쿼리 분석이나 최적화 같은 작업은 상대적으로 시간이 걸린다. 하지만 preparedStatement를 사용하면 쿼리 분석이나 최적화의 일부 작업을 처음 한 번만 수행해 별도로 저장해 두고, 다음부터 요청되는 쿼리는 저장된 분석 결과를 재사용한다. 이로써 빠르게 처리 가능하다.  
>>한 번 싱행된 쿼리는 매번 쿼리 분석 과정을 거치지 않고 처음 분석된 정보를 재사용한다는 성능적인 장점을 가지고 있음. 


댓글 없음:

댓글 쓰기