일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 엑셀 업로드
- docker
- mom
- ORM
- Jenkins
- DevOps
- Stream
- spring
- ci/cd
- QueryDSL
- 자바8
- 대용량 업로드
- 자동빌드
- poi
- MessageQueue
- 그리드
- java
- jqGrid
- 제이쿼리그리드
- 보안
- JPA
- 스트림
- sqlserver
- Javascript
- mssql
- JQuery
- rabbitmq
- stream api
- 자동배포
- apache.poi
- Today
- Total
목록 쿼리튜닝 (2)
개발 메모장

#. 쿼리의 길이가 길어지고 데이터가 많아질수록 속도는 느려지기 마련입니다.#. DBMS에선 빠른데 Java를 통해 처리하는 쿼리가 느린 경우가 있었습니다.우선 SQL Server JDBC Driver는 String 타입의 파라미터를 NVARCHAR로 보내어 쿼리를 실행합니다.이 경우 해당 테이블의 필드 타입이 NVARCHAR가 아닌 경우 우선순위에 따라 필드 타입을 형변환하게 됩니다.저의 경우 VARCHAR 필드에 NVARCHAR 데이터를 매핑하다보니 암시적 형변환이 일어나서 JAVA에선 더욱 느리게 느껴졌던 것입니다.그렇다고 기존의 필드를 NVARCHAR로 바꿀수도 없으므로 아래와 같이 문구 하나만 추가해줍니다.(JDBC 드라이버가 PreparedStatement로 문자열을 보낼 때 Unicode 방..

#. 다량의 데이터가 있는 테이블 또는 여러 테이블이 조인 돼있는 쿼리를 실행하면 속도가 느린 경우가 자주 발생하게 됩니다. #. 쿼리가 실행될 때 최대한의 부담을 덜어줘야 DBMS도 최상의 성능을 발휘하여 우리가 원하는 값을 보여줄 것입니다. #. 어떻게 해야 시스템이 부하가 걸리지 않고 빠른 응답을 할지에 대해 파악해보려 합니다. 1. Index 생성 - Where, Join On, Order by 절에서 자주 사용되고 수정하지 않는 컬럼을 파악하여 생성합니다. - Index 생성에 사용한 컬럼은 되도록 Where 조건에 모두 사용하는 것이 좋습니다. - 조건절에 >=, Example- employees 테이블에 employee_id, department_..