본문 바로가기

Web Development/Database2

[DB / Oracle] SQL 튜닝 기본 - 실행계획과 옵티마이저 0. 들어가며 지난 한 주간 SQL 튜닝 교육을 받으러 다녀왔는데요, DBA가 아닌 이상 알기 어려운 지식들을 많이 배울 수 있었던 기회였습니다. 이번 포스팅에서는 그 중 실행계획과 옵티마이저에 대해 정리해보고자 합니다. 목차 1. SQL 튜닝의 필요성과 절차 2. SQL 처리단계 3. 실행계획과 옵티마이저 4. 쿼리 힌트 5. 마무리 1. SQL 튜닝의 필요성과 절차 1-1. SQL 튜닝이란? 튜닝이란 시스템이 최적의 성능을 발휘할 수 있도록 시스템을 유지·개선 하는 일을 의미합니다. 우리가 구축한 시스템이 최적의 성능을 발휘하기 위해선 최소한의 자원으로 최대한의 일을 할 수 있어야 할텐데요, 이런 의미에서 SQL 튜닝은 가장 적은 작업량으로 사용자가 원하는 결과를 얻어낼 수 있도록 SQL 쿼리를 작성.. 2022. 12. 30.
[DB] 하드파싱(Hard parsing)과 소프트파싱(Soft parsing) 그리고 라이브러리 캐시(Library cache) 실제 엔터프라이즈 레벨의 어플리케이션에서는 UNION ALL로 여러번 결합된 복잡한 쿼리를 반복해서 수행해야 하는 일이 생기곤 합니다. 이 때 쿼리 자체의 길이가 길어지면서 해시 알고리즘을 통해 ID 생성에 걸리는 시간이 길어지고, 그럼으로써 파싱에 소요되는 시간까지도 덩달아 길어지는 문제가 생깁니다. 이번 포스팅을 통해 파싱이 무엇이며 어떤 종류가 있는 지와 플랜이 저장되는 라이브러리 캐시에 대해 한번 정리해보고자 합니다. 1. SQL의 특성과 Optimizer 일반적인 프로그래밍 언어와 달리 SQL은 처리 방법(절차)을 기술하지 않습니다. 다시 말해, SQL을 사용하는 개발자는 원하는 데이터만 정의할 뿐, 해당 데이터를 어떻게 찾아와야 할지는 따로 작성하지 않는데요, 아래 SQL 문을 한번 보시죠. .. 2022. 8. 21.
반응형