2013-08-14 4 views

답변

1

iBbat는 JDBC를 통해 빌드 된 데이터베이스 프레임 워크와 마찬가지로 PreparedStatement을 사용하여 SQL 쿼리를 실행합니다. Java JDBC tutorial

에서 이것의 장점은 대부분의 경우,이 SQL 문이 바로,이 컴파일 곳 DBMS로 전송 것입니다. 결과적으로 PreparedStatement 객체에는 SQL 문뿐만 아니라 미리 컴파일 된 SQL 문이 포함됩니다.

따라서 미리 컴파일 된 경우 데이터베이스를 사용하고 그렇다면 그렇습니다.

+0

그래서 처음 실행하는 동안 DBMS로 컴파일하고 보내고 있습니까? 기본적으로이 Ibatis 쿼리가 시작될 때 또는 처음 실행될 때 컴파일됩니까? –

+0

이것은 런타임에 발생합니다. 쿼리는 DBMS에서 컴파일됩니다. 첫 번째 요청 이후에 호출 할 때마다 DBMS가 쿼리를 컴파일 할 때까지 기다리지 않습니다. 그들은 Java에서 "컴파일"되지 않습니다. 데이터베이스에서 Java 소스 코드 컴파일과 쿼리 컴파일을 혼동하지 마십시오. –

+0

쿼리가 프리 컴파일 된 것으로 간주되는 시간은 얼마나됩니까? DB 서버가 다시 시작될 때까지? –

1

컴파일 단계는 SQL 쿼리 실행 흐름의 주요 단계 중 하나라고 덧붙이고 싶습니다. 그냥 db optimizer에 의해 컴파일되고 캐싱되고 이후의 호출은 컴파일 단계를 건너 뜁니다.

+0

컴파일 된 쿼리가 캐시에 얼마나 오래 있습니까? DB 서버가 다시 시작될 때까지? –