2012-05-16 3 views
-1

내 응용 프로그램에는 하나의 SQL 요청 (하나의 SELECT 또는 하나의 UPDATE ...) 만 있습니다. 이 요청은 한 번 실행될 수 있으며 네트워크를 통해 전달됩니다. 어떤 방법이나 테크닉을 최적화 시키거나 더 빨리 실행할 수 있습니까?JDBC sql 요청 압축

+0

SQL 문은 무엇입니까? –

+0

무엇을 의미합니까 ??? SELECT 문, DELETE 문, UPDATE 문. – itun

+0

나는 전체 SQL을 의미합니다. 전체 SELECT 문. 이것이 바로 누군가가 아닌 당신이 투표를 해준 이유입니다. 최적화는 계산서 기준 진술입니다. SQL 문이 없으면 여기에 대답 할만한 질문이 충분하지 않습니다. (당신이 요구하는 방식으로, 최적화 기법을 설명하는 책이 필요할 것입니다.) –

답변

0

네트워크를 사용하는 응용 프로그램에는 두 가지 문제가 있습니다. 하나는 아마도 유일한 것이고, 다른 하나는 네트워크 데이터의 크기입니다. 첫 번째는 요청 및 응답의 왕복 지연에 대한 종단 간 지연 시간을 처리하고 서버에서 응답을 얻을 때까지 다음 코드 행으로 이동하지 않는 클라이언트를 처리합니다. 다른 하나는 보낸 바이트 수와 처리량을 처리합니다.

큰 문제는 네트워크 전환입니다. 1400 바이트 패킷을 보내는 데 30 바이트 패킷을 보내는 데는 오래 걸립니다. 많은 시간 (80-300 바이트)의 패킷이 많이 교환됩니다.

그래서 기술은 네트워크 전환 횟수를 줄이는 것입니다. 비동기 API가 있으면 사용할 수 있고 가능하면 가능합니다. 많은 쿼리를 하나의 복잡한 쿼리로 결합 해보십시오. 결과를 하나의 쿼리로 결합 할 수 있다면 특히 루프를 수행하고 루프에서 쿼리를 수행하지 마십시오.

또한 테이블의 인덱스를 사용하고 쿼리에 사용할 적절한 인덱스가 있는지 확인하십시오.

+0

"테이블의 색인 사용"- 어떤 색인입니까? 기본 키를 의미합니까? 적절한 색인은 무엇입니까? 고마워. – itun

+0

은 SQL에 적합합니다. –