본문 바로가기
[MSSQL][SQL SERVER] SQL 성능 최적화: 캐싱과 동적 평가(Dynamic Evaluation)의 함정 연말연초라 그런지 프로그램 사용량이 늘어 성능 이슈가 늘었다. 업무상 성능 개선이 시급히 필요한 시점에서 SQL 튜닝을 하면서 새로 배운 점을 정리하고자 한다. (쿼리나 함수명, 변숫값은 예제로 새로 작성하였다.)문제의 쿼리: 병목WHERE a.Status LIKE '%' + @InputStatus + '%' -- 문제 부분실행계획을 분석해보니 위의 LIKE 연산자 조건 비교 부분에서 프로시저 전체의 56%에 달하는 비용이 발생하고 있었다. LIKE 연산자로 검색하려는 문자열의 앞에 '%'가 올 경우 인덱스를 활용하지 못한다. LIKE 조건에 일치하는 패턴을 찾아야 하는데 찾고자 하는 값이 문자열의 어느 부분에서 시작하는지 알 수 없으므로 전체를 스캔해야 하기 때문이다.@InputStatus는 'Orde.. 2025. 1. 5.
[SQL]SQL: SQL 정의, 특성, 기능, 예시, ACID SQLD를 딴 지 벌써 2년이 다 되어가서 보수교육을 들으라는 안내 메시지가 왔다. 약 4시간에 달하는 분량의 동영상인데 이렇게 보게 된 김에 보면서 SQL에 대한 기본적인 내용을 정리하고 보충하기로 했다.SQL: 구조화된 질의 언어SQL(Structured Query Language)은 관계형 데이터베이스에서 데이터를 저장, 관리, 조회, 수정, 삭제하기 위해 사용되는 표준화된 프로그래밍 언어다.  SQL은 1970년대에 개발되어 이후 ANSI(미국 국가표준협회)와 ISO(국제표준화기구)에서 국제 표준으로 지정되었다. SQL의 주요 특징1. 모든 관계형 DBMS에서 사용 가능SQL은 ANSI/ISO 표준을 기반으로 설계되어, 대부분의 관계형 데이터베이스 관리 시스템(RDBMS)에서 동일한 방식으로 사용.. 2024. 11. 24.
[Oracle]SQLPlus에서 'set autotrace on' 설정 시 에러 조치 오라클(Oracle) 21C버전에서 SQLPlus에서 'set autotrace on' 설정 시 에러 조치(맨 하단에 요약있음) 1. 에러 1: SP2-0618: 세션 식별자를 찾을 수 없습니다. PLUSTRACE 롤이 사용으로 설정되었는지 점검하십시오SQL Plus 에서 set autotrace on을 입력하면 아래와 같은 에러 메세지가 나타났다.SP2-0618: 세션 식별자를 찾을 수 없습니다. PLUSTRACE 롤이 사용으로 설정되었는지 점검하십시오SP2-0611: STATISTICS 레포트를 사용 가능시 오류가 생겼습니다구글 검색 결과 해당 에러에 대한 해결법이 버전별로 혼재되어 있어 21C버전에 맞게 조치방법을 정리하고자 한다. 2. 에러1의 원인에러 메세지에서 파악할 수 있듯 PLUSTRACE.. 2024. 6. 9.
[SQL][#1][강의]기초 데이터 분석을 위한 핵심 SQL 현재 업무가 SQL을 작성하고 튜닝하는 일이 많아 올해는 SQL을 집중적으로 공부하고자 한다. SQL문법을 알고 작성하는 것에서 나아가 효율적인 SQL문 작성과 성능개성, 조회 결과에 대한 데이터 분석 능력도 기를 수 있도록 여러 시도와 배운 점을 이 카테고리에 기록할 예정이다. #1 기초 데이터 분석을 위한 핵심 SQL 강의 특징 기초적인 내용이지만 꼭 필요한 SQL문법을 깔끔하게 담고 있다. SQL을 활용한 구체적인 데이터 분석 방법을 소개한다. https://www.boostcourse.org/ds102/joinLectures/114920 기초 데이터 분석을 위한 핵심 SQL 부스트코스 무료 강의 www.boostcourse.org 다음 포스팅은 강의에서 배운 내용을 올리되 강의의 내용을 그대로 가.. 2024. 3. 24.