Skip to content

SQLP · Tuning practice

튜닝 연습

SQL과 실행계획을 읽고 어디를 어떻게 고칠지 SQL과 서술로 답합니다. SQL을 실제로 실행하지는 않습니다. 시험장에서처럼 실행계획만 보고 판단하는 연습입니다.

고객사와 테이블
0/ 700 통과
  • 기초0 / 211
  • 중급0 / 312
  • 실전0 / 177
채점 방식
  1. 문제를 열면 왼쪽에 상황, 테이블과 인덱스, 원본 SQL, 실행계획, 문제가 나옵니다.
  2. 오른쪽 편집기에서 원본 SQL을 고쳐 쓰고(인덱스 DDL과 힌트도 쓸 수 있습니다), 아래 칸에 개선 사유를 서술합니다.
  3. 확인을 누르면 문제마다 정해 둔 핵심 포인트를 짚었는지 채점합니다. 필수 포인트를 모두 맞히고 전체의 60% 이상을 맞히면 모범답안과 비슷하다고 판정합니다.
  4. 모범답안 보기를 누르면 개선 SQL, 개선 후 실행계획, 모범 서술, 해설을 내 답과 나란히 볼 수 있습니다.

채점은 정규식으로 핵심 용어와 SQL 형태를 확인하는 방식이라 완벽하지 않습니다. 통과하더라도 모범답안과 꼭 비교해 보세요. 다른 정답이 있으면 해설에 적어 두었습니다. 실행계획은 고객사별 실제 데이터 규모에 맞춘 학습용 예시이며, 교재에서 실측한 실행계획을 옮긴 문제에는 따로 표시했습니다. 문제는 시험 형식만 따랐을 뿐 기출 문제를 옮기지 않고 새로 만들었습니다. 진행 기록은 이 브라우저에만 저장됩니다.

700문제

IDX인덱스 사용 조건75

IDX-001인덱스는 있는데 기간 조회가 FULL로 돈다기초SELECT한빛유통IDX-002하루치 판매 700건을 세는 「일별 판매 건수」가 1초 가까이 걸린다기초SELECT유통IDX-003영수증 번호 네 자리를 치면 판매 2천 건이 뜬다기초SELECT유통IDX-004PAY_DT에 인덱스를 만들었는데 미결제 독촉은 여전히 FULL이다중급DDL한빛유통IDX-005상담원 PC 40대가 10초마다 숫자 하나를 센다중급SELECT한빛유통IDX-006PK에 상품번호가 들어 있는데 메뉴별 실적 조회가 테이블을 다 읽는다중급SELECT유통IDX-007이번 달 메뉴 순위 칸이 2년 치 판매상품을 다 읽는다기초SELECT유통IDX-008상담원 30명의 「오늘 주문」 상황판이 1분마다 주문 테이블을 다 읽는다기초SELECT한빛유통IDX-009고액 주문 알림이 1분마다 인덱스를 통째로 읽는다기초SELECT한빛유통IDX-010정보계 재전송 배치가 1,000건을 보낼 때마다 주문 테이블을 다 읽는다기초SELECT버거IDX-011프로모션 시간대 매출을 볼 때마다 2년 치 주문을 다 읽는다중급SELECT버거IDX-012창고 태블릿의 「출고일별 주문」이 열 때마다 주문 테이블을 다 읽는다중급SELECT한빛유통IDX-0136월 매출 대사가 장부보다 137건, 3,415만 원 적다중급SELECT한빛유통IDX-014일·월·연 단위를 한 SQL로 받는 판매 현황이 어느 단위로 골라도 판매 전체를 읽는다중급SELECT유통IDX-015매장 하나는 주문 7건인데 200곳 일 마감이 12만 블록을 읽는다중급PLSQL버거IDX-016대문자 함수 인덱스까지 만들었는데 로그인 조회는 여전히 고객 테이블을 다 읽는다중급DDL이커머스IDX-017결제일 인덱스도 주문일 인덱스도 있는데 일별 매출 인식 화면이 주문 테이블을 다 읽는다실전SELECT한빛유통IDX-018고칠 수 없는 BI 차트 SQL이 월 판매를 볼 때마다 판매 전체를 읽는다실전DDL유통IDX-019POS 개편 전 점검에서 판매 SQL 넷 중 셋이 판매 전체나 인덱스 전체를 읽는다실전DDL유통IDX-020결합 인덱스를 새로 만들었는데 2018년 패키지의 두 SQL만 계획이 그대로다실전SELECT한빛유통IDX-021형변환 점검을 마친 뒤로 주문번호 한 건 조회가 주문 테이블을 다 읽는다기초SELECT한빛유통IDX-022점주 앱의 「시간대별 주문」만 느리다, 같은 SQL을 SQL Developer에서 돌리면 0.01초다기초SELECT버거IDX-023인덱스 힌트까지 넣었는데 결제 모니터의 한 시간치 조회가 인덱스를 처음부터 끝까지 읽는다중급SELECT한빛유통IDX-024바인드를 모두 문자로 넘기는데도 「매장별 주문 순위」가 한 주만 골라도 주문 100만 건을 다 읽는다기초SELECT버거IDX-025「없는 쿠폰」 장애를 고친 뒤로 결제 화면이 쿠폰 한 장마다 멈칫한다중급SELECT한빛유통IDX-026매장 여섯 곳의 일 마감 프로시저가 판매 50만 건을 열두 번 읽고, 마감일은 엉뚱한 모양으로 저장된다실전PLSQL유통IDX-027판매 테이블에서 잘 되던 월 조회 LIKE를 DW 집계 테이블에 썼더니 전체를 읽는다기초SELECT유통IDX-028새 키오스크에서만 영수증 재출력이 판매상품 110만 줄을 다 읽는다중급SELECT유통IDX-029배치 서버를 옮기는 리허설에서 1년 지난 주문만 지우던 배치가 주문 100만 건을 다 지웠다중급DELETE버거IDX-030공휴일 열여섯 날의 주문 수를 세는데 주문 100만 건을 다 읽고 해시 조인한다중급SELECT버거IDX-031080 수신거부 전화 한 통마다 연락처 60만 건을 읽고, 어떤 고객은 거부해도 문자가 계속 온다실전UPDATE한빛유통IDX-032인덱스 없는 정산 테이블에 인덱스를 달아 달라는 요청서에 SQL 네 개가 붙어 왔다실전DDL한빛유통IDX-033주문번호 앞자리로 후보를 띄우는 상담 화면이 한 번 찾을 때마다 대용량 주문을 다 읽는다실전SELECT한빛유통IDX-0345분마다 도는 판매 변경분 연계가 바뀐 판매 몇 건을 보내려고 판매 테이블을 다 읽는다중급INSERT유통IDX-035「작년 같은 날」 칸 하나를 열 때마다 판매 2년 치를 다 읽는다기초SELECT유통IDX-036부정형을 고치라는 코드 리뷰대로 고쳤더니 월 매출 집계가 두 배 넘게 읽는다기초SELECT한빛유통IDX-037쿠폰 쓴 판매 8천 건을 세는데 판매 50만 건을 다 읽는다기초SELECT유통IDX-038매장 이름에 「입구」가 든 열한 곳만 골랐는데 1년 치 주문을 다 읽는다기초SELECT버거IDX-039고객번호 열 자리를 끝까지 쳐도 상담 화면은 고객 전체를 찾는 줄 안다중급SELECT한빛유통IDX-040매장 칸을 비우고 조회하면 하루치 매장별 주문 수가 백 배 느려지고 합계도 모자란다중급SELECT버거IDX-041판매번호 규칙에서 벗어난 판매 37건을 찾는 점검이 10분마다 판매 50만 건을 다 읽는다중급SELECT유통IDX-042「최근 결제」 목록 맨 위에 결제도 안 된 주문 20건이 뜬다중급SELECT한빛유통IDX-043매장 인덱스를 두고도 매장별 누적 주문 순위가 주문 100만 건을 다 읽는다중급DDL버거IDX-044「비회원 유입」 차트 하나가 1분마다 상품 조회 로그 10만 건을 다 읽는다중급SELECT이커머스IDX-045택배 기사가 수령인 번호 뒷자리 네 개를 불러 줄 때마다 주문 테이블을 다 읽는다실전DDL한빛유통IDX-046상담원이 리뷰에서 「환불」을 찾을 때마다 리뷰 1만 5천 건을 다 읽는다실전SELECT이커머스IDX-047DBA가 만든 배송요청일 인덱스를 두고도 택배 연계 배치는 주문 100만 건을 다 읽는다실전UPDATE한빛유통IDX-048결제 개편 뒤 미결제 주문을 찾는 화면과 배치 셋이 모두 주문 테이블을 처음부터 읽는다실전DDL한빛유통IDX-049주문 시각 인덱스가 있는데도 매시 정산 연계가 주문 테이블을 통째로 읽는다기초SELECT한빛유통IDX-050점주 앱에서 매장 두 곳을 고르면 오늘 주문이 5천 건 넘게 뜨고 화면이 멈춘다기초SELECT버거IDX-051상품을 골라도 리뷰 관리 화면이 리뷰 1만 5천 건을 다 읽는다기초SELECT이커머스IDX-052영수증 찾기 화면이 판매번호로 찾든 판매일자로 찾든 판매 50만 건을 다 읽는다기초SELECT유통IDX-053판매 일 마감 연계가 한 달에 두세 번 중복 키 오류로 멈춘다중급INSERT유통IDX-054상담원 주문 검색이 고객번호를 넣어도 석 달 치 주문을 다 읽는다중급SELECT한빛유통IDX-055메뉴를 여러 개 고르는 실적 비교 화면이 상품 인덱스를 처음부터 끝까지 읽는다중급SELECT유통IDX-056감사팀 분기 추출이 지난주 배포 뒤로 여섯 배 느려졌다중급SELECT한빛유통IDX-057심야 영업 주문 수가 매장 POS 집계보다 두 배 가까이 크게 나온다중급SELECT버거IDX-058속도 개선 배포 뒤로 「전체」를 고르면 결제 대기 주문이 목록에서 사라진다중급SELECT한빛유통IDX-059고객 이름이나 주문번호 하나만 넣는 통합 검색이 고객과 주문을 다 읽고 해시 조인한다실전SELECT한빛유통IDX-060본사 주문 조회 화면이 매장을 골라도 일주일 치를 읽고, 메뉴로 찾으면 3만 블록 가까이 읽는다실전DDL버거IDX-061「같은 달 두 해 비교」 화면이 어느 달을 골라도 판매 인덱스를 처음부터 끝까지 읽는다실전SELECT유통IDX-062조건이 여섯 칸인 정산 검색 프로시저가 어떤 조건으로 찾든 정산 10만 건을 다 읽는다실전PLSQL한빛유통IDX-063INDEX_SS 힌트를 붙였는데도 「내가 쓴 리뷰」가 리뷰 1만 5천 건을 다 읽는다기초SELECT이커머스IDX-064인덱스 정리 뒤로 「기간 매출」이 인덱스만 읽는데도 91블록에서 4천 블록으로 늘었다기초SELECT한빛유통IDX-065점주 앱을 빠르게 하려고 인덱스를 고친 다음 날부터 본사 시간대 상황판이 수십 배 무거워졌다중급DDL버거IDX-066매장 POS의 「시각으로 영수증 찾기」에 다른 매장 영수증이 섞여 나온다기초SELECT유통IDX-067고객 인덱스 둘을 하나로 합치자는 안을 재 보니 상담 화면 첫 칸이 24블록에서 505블록으로 늘었다중급DDL한빛유통IDX-068분기 점검 스크립트가 지워도 된다고 올린 인덱스 넷을 이번 주 토요일에 그대로 지우겠다고 한다실전DDL한빛유통IDX-069주문상품 인덱스 넷 가운데 「영수증 재출력용」 하나를 지워도 되는지 묻는다기초DDL버거IDX-070주문 인덱스를 하나 줄이자는 안에 점주 앱이 내림차순 인덱스를 쓰고 있어 못 지운다는 반대가 나왔다중급DDL버거IDX-071하루 정정 수십 건을 반영하는 정보계 판매 MERGE가 정보계 판매를 통째로 읽는다중급MERGE유통IDX-072주문 상태 화면 넷을 인덱스 하나로 받치겠다는 설계안을 세션에서 재 보니 한 화면이 4천 블록을 넘게 읽는다중급SELECT한빛유통IDX-073판매번호 앞 여덟 자리가 판매일자라며 날짜 인덱스 둘을 다 지우자는 정비안이 올라왔다중급DDL유통IDX-074정보계 리포트 넷 가운데 둘이 일별 상품 판매를 통째로 읽는다며 인덱스 설계를 맡겼다실전DDL유통IDX-075「주문 조회」 개편에 단일 컬럼 인덱스 셋을 달아 달라는 요청서와 한 달 치 조회 조건 통계가 함께 왔다실전DDL한빛유통

ACC인덱스 스캔 효율과 테이블 액세스75

ACC-001인덱스를 새로 만들었는데 취소 추이 그래프는 여전히 무겁다기초DDL한빛유통ACC-0022년 전에 고쳐 놓은 월마감 집계가 다시 느리다실전SELECT버거ACC-003재무팀이 1년치를 고르자 「기간 매출」 조회가 33만 블록을 읽는다기초SELECT한빛유통ACC-004인덱스만 읽는 SQL인데 가맹점주 앱이 무겁다중급SELECT버거ACC-005개발팀이 WHERE절에 나오는 컬럼마다 인덱스를 하나씩 달라고 한다실전DDL이커머스ACC-006힌트까지 붙였는데 건수 한 줄이 테이블을 다 읽는다기초SELECT한빛유통ACC-007하루 고액 주문 목록에 filter가 보인다며 인덱스를 하나 더 만들자고 한다기초SELECT한빛유통ACC-008클레임 주문 한 건을 찾으려고 만든 인덱스가 기존 인덱스보다 세 배를 읽는다기초DDL버거ACC-009직영점 세 곳의 하루 판매 건수를 세는 데 인덱스를 600블록 가까이 읽는다중급SELECT유통ACC-010날짜 30개짜리 IN 목록으로 바꿨는데 고객 주문 이력은 여전히 100블록을 읽는다중급SELECT한빛유통ACC-011새 인덱스로 상품 일 판매는 빨라졌는데 월간 추이는 345블록을 읽는다중급DDL버거ACC-012콜드브루 리콜 영수증 635장을 찾는 데 PK를 180블록 넘게 읽는다기초SELECT유통ACC-0131분마다 도는 대기 주문 정리가 해마다 무거워진다중급UPDATE한빛유통ACC-014PG사 불일치 주문번호 다섯 개를 찾는 데 정산 화면이 인덱스를 330블록 읽는다중급SELECT한빛유통ACC-015정산 테이블에 처음 만든 인덱스가 고객 한 명의 석 달 치에 50블록을 읽는다기초DDL한빛유통ACC-016점장 앱의 월 판매 추이가 474블록을 읽는데 인덱스는 하나만 더 만들 수 있다실전DDL유통ACC-0171분마다 새로 고치는 고액 주문 타일이 분기 치 인덱스를 매번 다 읽는다실전SELECT한빛유통ACC-018상품 상세 화면이 열릴 때마다 조회 로그 1년 치를 훑는다중급DDL이커머스ACC-019「버거류 일 판매」가 인덱스를 1,485블록 읽는데 자이언트더블버거가 빠져 있다실전SELECT버거ACC-020인덱스를 정리한 다음 주, 분기 마감 상황판이 인덱스를 통째로 읽는다실전SELECT한빛유통ACC-021고객 요약 팝업에 '총 주문 금액' 칸 하나를 더했더니 4블록이던 조회가 500블록을 넘는다기초SELECT한빛유통ACC-022같은 취소 주문 2만 건인데 남은 인덱스로 읽자 마감 점검의 테이블 블록이 5,826에서 2만으로 늘었다실전SELECT한빛유통ACC-023상품 인덱스를 만들고 힌트까지 넣었는데 상품 실적 조회가 FULL과 똑같이 896블록을 읽는다중급SELECT한빛유통ACC-024정산 대사 화면이 하루치 137건에 139블록을 읽고, 일주일을 고르면 정산 테이블을 통째로 읽는다중급INSERT한빛유통ACC-025DB를 19c로 올린 뒤 고객센터의 「최근 주문 5건」이 가끔 날짜 순서가 뒤섞여 나온다중급SELECT한빛유통ACC-026점검 도구의 FULL 경보를 없애려고 기간 조회 SQL 세 개에 같은 INDEX 힌트를 넣자는 표준안이 올라왔다실전SELECT한빛유통ACC-027DB를 19c로 올린 뒤 하루치 주문 목록은 첫 30줄을 보여 주기 전에 1,378블록을 읽는다중급SELECT버거ACC-028서버 이관 계획서에는 'Data Pump 병렬 8' 한 줄뿐인데, 1년 전 이관 뒤 월마감이 38배 무거워졌던 일이 있다실전DDL버거ACC-029분기 가맹점 집계가 지난주부터 3,253블록에서 22,239블록을 읽는다기초SELECT버거ACC-03019c로 올린 다음 날 판매 SQL 37개에서 실행계획 변경 경보가 울렸다기초SELECT유통ACC-031점심 피크 분석에서 거르는 시간 컬럼을 인덱스에 넣었는데 블록은 3분의 1밖에 줄지 않았다중급SELECT유통ACC-032메뉴별 월 추이를 빠르게 하려고 판매상품 테이블을 메뉴 순으로 다시 쌓자는 제안서가 올라왔다실전DDL유통ACC-033리스크 모니터가 상품마다 대량 구매 서너 건을 찾는데 주문상품을 170블록씩 읽는다기초SELECT이커머스ACC-034한 달씩 나눠야 인덱스를 탄다던 월별 매장 집계 배치가 판매 테이블 크기의 두 배 반을 읽는다중급PLSQL유통ACC-035이관 대사의 건수 확인 한 줄이 인덱스만 읽는데 3초 가까이 걸린다기초SELECT유통ACC-036일 마감 화면의 하루 매출 조회에 SKIP SCAN이 보인다며 날짜 인덱스를 따로 만들자고 한다기초SELECT이커머스ACC-037연간으로 고르면 일별 매출 그래프의 선이 앞뒤로 엉킨다중급SELECT한빛유통ACC-038병렬 8로 돌리는 연간 상품 판매 집계가 새벽 배치들의 병렬 서버를 다 가져간다중급INSERT버거ACC-039선두 컬럼이 세 종류뿐이라던 고객 상태 요약이 SKIP SCAN으로 인덱스를 4천 블록 넘게 읽는다실전SELECT한빛유통ACC-040인덱스를 더 만들 수 없는 주문 테이블에서 주간 주문번호 대사 파일이 9천 블록을 읽는다실전SELECT버거ACC-041월 판매번호 목록이 지난주부터 477블록에서 1,757블록을 읽는다중급SELECT유통ACC-042테이블 하나만 읽는 SQL의 실행계획에 뷰와 해시 조인이 나온다며 FULL 힌트로 막자고 한다기초SELECT한빛유통ACC-043리포팅 도구로 내려받는 고객별 주문 원장이 인덱스 순서대로 100만 번 테이블을 찾아간다중급DDL한빛유통ACC-044고객 12개월 추이를 보려고 월 실적 테이블의 PK를 열두 달 치 다 훑는다중급SELECT한빛유통ACC-045비트맵 인덱스가 없는 주문 테이블에서 매장 분기 주문 추이가 BITMAP AND로 1,100블록 넘게 읽는다중급SELECT버거ACC-0461분마다 새로 고치는 「오늘 주문 건수」 타일이 건수 하나에 1,376블록을 읽는다기초SELECT버거ACC-047주문 관리 메뉴의 SQL 다섯 개 가운데 무엇을 고칠지 실행계획만 보고 정해 달라고 한다실전SELECT한빛유통ACC-048감사용 판매상품 원장 추출이 정렬 때문에 TEMP를 46MB 쓰며 5초 가까이 첫 줄을 내지 못한다실전SELECT유통ACC-049상품 상세의 상품평 50건을 띄우는 데 상품평 테이블을 거의 통째로 읽는다기초DDL한빛유통ACC-050상품평 본문을 받기 시작한 뒤로 긴 상품평은 등록이 실패하고, 상품평 탭은 두 배 넘게 읽는다중급INSERT한빛유통ACC-051재고 이력을 IOT로 바꾼 뒤 상품 재고 추이는 빨라졌는데, 일자별 재고 점검은 9블록에서 1,640블록이 됐다중급SELECT유통ACC-052주문 화면이 고객 등급 하나를 확인하는 3블록짜리 조회를 하루 300만 번 보낸다기초DDL한빛유통ACC-053영수증 조회를 4블록에서 1블록으로 줄이겠다는 판매 테이블 재구성 제안서가 올라왔다실전DDL유통ACC-054주문서 화면을 빠르게 하려고 주문과 주문상세를 같은 블록에 묶자는 제안서가 올라왔다실전DDL한빛유통ACC-055매장과 요일, 시간대를 골라 판매 건수 하나를 세는데 분석 사본을 통째로 읽는다기초SELECT유통ACC-056VIP 캠페인 대상 주문 415건을 세는 데 다른 리포트용 인덱스를 타고 1,400블록 가까이 읽는다중급SELECT한빛유통ACC-057POS 테이블의 비트맵을 지우고 따로 만든 리포트 마트에서도 자유 조합 리포트는 마트를 통째로 읽는다실전DDL버거ACC-058매장과 기간만 고르면 40블록 안팎인 판매 건수 타일이 카테고리를 함께 고르면 400블록 넘게 읽는다중급DDL유통ACC-059시간대별 메뉴 판매 리포트를 위해 함수 기반 인덱스를 만들었는데 실행계획이 그대로다중급DDL버거ACC-060휴면 고객 판정 배치가 고객 주문 인덱스를 통째로 읽는데, 인덱스를 압축하면 얼마나 주느냐고 묻는다기초DDL한빛유통ACC-061주문 인덱스 셋을 압축했더니 하나는 반으로 줄고, 하나는 오히려 커지고, 하나는 에러가 났다중급DDL버거ACC-062택배사 연동 폴링이 배송 테이블을 하루 8,640번 통째로 읽는데, 인덱스 제안이 셋이다실전DDL이커머스ACC-063매주 인덱스를 전부 다시 만드는 정비 작업을 없애려 하자, 그래야 인덱스가 얕아진다는 반대가 나왔다기초PLSQL한빛유통ACC-0642022년 판매를 지운 다음 날부터 가장 오래된 판매일 한 칸이 인덱스를 700블록 읽는다중급SELECT유통ACC-0652주 동안 USED가 NO로 나온 인덱스 셋을 지우겠다는 정리안이 올라왔다기초DDL한빛유통ACC-066바꾸는 주문 수는 지난달과 같은데 7월 1일 정산 확정의 redo가 9.6MB에서 24.3MB가 됐다중급UPDATE한빛유통ACC-06730일 사용 이력이 0인 인덱스를 지우면 POS 적재가 가벼워진다는 정리안이 올라왔다중급DDL버거ACC-068매장이 두 배로 늘면 인덱스가 깊어진다며 판매 테이블을 연도별로 쪼개자고 한다기초SELECT유통ACC-069정산 메뉴 오픈을 앞두고 화면 SQL 다섯 개에 인덱스 다섯 개를 달라는 요청서가 왔다실전SELECT한빛유통ACC-070인덱스 승인서의 예상 크기와 예상 블록 칸을 비워 냈다가 반려됐다중급DDL버거ACC-071리뷰 탭을 붙인 뒤로 상품 상세 한 번에 리뷰 테이블을 두 번 통째로 읽는다실전DDL이커머스ACC-072월 감사 출력이 판매번호를 1,000개씩 나눠 스물한 번 보내고 8만 블록을 읽는다중급SELECT유통ACC-073가맹점 포털 오픈 점검에서 점주 앱 SQL과 본사 순위 SQL이 모두 주문 테이블을 1,300블록 넘게 읽는다실전SELECT버거ACC-074인덱스를 더 만든 적이 없다는데 정산 적재의 redo가 두 달 새 두 배가 됐다중급INSERT한빛유통ACC-075쿠폰 시스템 오픈을 앞두고 결제 화면의 「쓸 수 있는 쿠폰」이 열릴 때마다 쿠폰 80만 장을 다 읽는다실전DDL한빛유통

JOIN조인 튜닝85

JOIN-001결과 세 줄짜리 「고객 등급별 매출」 화면이 0.8초 걸리고 블록을 100만 개 넘게 읽는다중급SELECT한빛유통JOIN-002하루 스무 건 출고 목록이 6천 블록을 읽는다기초SELECT이커머스JOIN-003VIP 스무 명의 반년 치 주문 260줄에 2만 6천 블록을 읽는다중급SELECT한빛유통JOIN-004읽는 블록 수는 정상인데 연간 리포트가 6초 걸리고 TEMP 경보가 울린다중급SELECT버거JOIN-005월말 품목 마감표가 109줄이어야 하는데 88줄만 나온다중급SELECT유통JOIN-006하루 4만 번 누르는 '최근 구매 상품' 칸이 한 번에 500블록을 읽는다실전SELECT이커머스JOIN-007쉐이크 네 가지의 12월 판매 건수를 세는데 판매상품 인덱스를 네 번 훑는다기초SELECT유통JOIN-008매장 하루치 영수증 150장을 펼치는데 판매상품 110만 줄을 다 읽는다기초SELECT유통JOIN-009점주 앱의 '오늘 주문' 일곱 건을 보여 주는데 주문을 3,389번 찾아간다기초SELECT버거JOIN-010고객센터 '이메일로 주문 찾기'가 결과 두 줄에 600블록을 읽는다기초SELECT이커머스JOIN-011지역 고객 250명의 6월 매출을 내는데 12만 블록을 읽는다중급SELECT한빛유통JOIN-012PG 승인 테이블에 인덱스를 만들었는데 결제 내역 팝업이 승인 테이블을 통째로 읽는다중급SELECT한빛유통JOIN-013하루치 주문 137건에 정산 금액을 붙이는데 정산 테이블을 6,850번 찾아간다중급SELECT한빛유통JOIN-014힌트를 USE_HASH로 일괄 바꾼 뒤 '최근 주문 50줄' 상황판이 3초씩 걸린다중급SELECT버거JOIN-015상품 루프를 한 문장으로 바꿨는데 당일 상품별 집계가 한 번에 33만 블록을 읽는다중급INSERT한빛유통JOIN-016원재료 20종의 입출고 집계가 입출고상품 테이블을 스무 번 읽는다중급SELECT유통JOIN-017프리미엄셰이크 세 가지의 한 달 판매 집계가 같은 한 달치 주문상품을 세 번 읽는다실전SELECT버거JOIN-018새로 만든 주문 화면 네 개 가운데 세 개가 주문 테이블을 통째로 읽는다실전DDL한빛유통JOIN-019화면은 0.01초인데 같은 SQL로 받는 엑셀 다운로드는 40초가 걸린다실전SELECT한빛유통JOIN-02003화에서 판매 헤더를 고쳤는데 월 매출 집계는 아직 8,552블록을 읽는다실전SELECT유통JOIN-021탈퇴 고객 주문까지 세는 「등급별 주문 상태」 집계가 해시 조인 하나에 77MB를 쓴다기초SELECT한빛유통JOIN-022주문 뒤 10분 안의 적립을 찾는 점검이 포인트 테이블을 583번 읽는다기초SELECT이커머스JOIN-023같은 대사 SQL이 sqlplus에서는 0.1초인데 야간 배치 안에서는 2초 가까이 걸린다기초INSERT한빛유통JOIN-024상품 88개의 2년 판매 합계를 내려고 판매상품 110만 줄을 하나씩 상품 마스터에 맞대 본다기초SELECT유통JOIN-025상품을 build로 쓰려고 LEADING 맨 앞에 두었더니 상품 유형별 연 매출이 10초가 됐다중급SELECT한빛유통JOIN-026시즌 메뉴 한 가지의 매장 · 요일 판매를 보는데 판매 50만 건을 메모리에 올린다중급SELECT유통JOIN-027회계 감사용 2013년 주문 상품 추출이 TEMP를 100MB 가까이 쓰고 8초 걸린다중급SELECT버거JOIN-028시간대별 주문 집계에 USE_HASH를 줬는데 계획에는 MERGE JOIN이 나오고 TEMP를 쓴다중급SELECT버거JOIN-029금액 구간별 수수료 집계의 건수를 다 더하면 그해 주문 수보다 271건 많다중급SELECT한빛유통JOIN-0302년 치 월별 매장 매출을 다시 만드는 배치가 판매상품 테이블을 24번 통째로 읽는다중급PLSQL유통JOIN-0311분마다 새로 고치는 경영 대시보드가 주문 3년 치를 고객 마스터에 다시 맞대 본다실전SELECT한빛유통JOIN-032혼자 돌리면 2초인 연간 상품 · 요일 리포트가 월초 아침에는 10초 가까이 걸린다실전SELECT유통JOIN-033본사 BI 야간 배치의 2013년 집계 세 문장 중 하나가 TEMP를 쓰고, 셋 다 같은 주문 헤더를 읽는다실전SELECT버거JOIN-034선물하기를 연 뒤로 CRM의 「고객별 월 주문」 추출이 0.03초에서 18초가 됐다기초SELECT한빛유통JOIN-035A 등급 고객 스무 명의 상품평 현황에 일반 고객 1,980명이 0건으로 섞여 나온다기초SELECT한빛유통JOIN-036가격 비교 사이트로 보내는 상품 파일에 280개 중 241개만 실린다기초SELECT이커머스JOIN-037SORT JOIN이 2,000번 돈다며 NL로 바꾼 월 청구서 추출이 읽는 블록이 아홉 배가 됐다기초SELECT한빛유통JOIN-038매장별 상품 판매표에 (+)를 마저 붙였더니 여섯 매장이 다 나오는데 영수증 수가 그날 전체 영수증 수로 찍힌다중급SELECT유통JOIN-039전 매장 오늘 현황판이 1분마다 오늘 주문 범위를 200번 다시 읽는다중급SELECT버거JOIN-0406월 주문 고객과 상품평 고객을 맞대는 표가 두 테이블을 두 번씩 읽는다중급SELECT한빛유통JOIN-041전월 대비 품목 판매표가 10초 걸리고 수량은 수백 배로 부풀고 시즌 메뉴는 빠진다중급SELECT유통JOIN-042영수증 번호 순 연간 판매 상세 파일이 해시 조인 뒤에 55만 줄을 다시 정렬하다가 TEMP를 쓴다중급SELECT유통JOIN-043"외부 조인은 해시로"라는 주석이 붙은 VIP 30일 요약 칸이 한 번에 주문 100만 건을 훑는다중급SELECT한빛유통JOIN-044고객 상담 통합 화면의 아우터 조인 네 개 중 셋이 정산 테이블을 통째로 읽는다실전DDL한빛유통JOIN-045(+)로 쓴 POS 리포트를 ANSI 조인으로 옮겼더니 세 개 중 두 개의 숫자가 달라졌다실전SELECT버거JOIN-046재고 테이블에 원재료가 들어오기 시작한 달부터 월말 수불 점검 배치가 ORA-01400으로 멈춘다실전INSERT유통JOIN-047키오스크가 메뉴판 한 장을 띄울 때마다 가격 이력 5천 블록을 읽는다기초SELECT버거JOIN-048고객별 마지막 주문 요약에 PK를 붙인 다음 날부터 야간 적재가 ORA-00001로 멈춘다기초INSERT한빛유통JOIN-049월 정가 대조 리포트가 157행짜리 가격표를 4만 6천 번 찾아간다기초SELECT유통JOIN-050가격 구간이 겹치는지 보는 아침 점검이 820블록을 읽는 데 7초 가까이 걸린다기초SELECT한빛유통JOIN-051같은 템플릿으로 만든 등급 이력 조회 두 개 가운데 VIP 기간 실적만 5초 가까이 걸린다중급SELECT한빛유통JOIN-052메뉴별 월 매출이 2,785블록만 읽는데 해시 조인 한 줄에서 2초 가까이 쓴다중급SELECT버거JOIN-053지난번 단가 소급 MERGE를 기준일만 바꿔 돌렸더니 4월 판매 1만 6천 줄이 5월 단가로 덮였다중급MERGE유통JOIN-054반품 접수 화면이 주문 상세 세 줄의 그때 가격을 찾는 데 1,200블록을 읽는다중급SELECT한빛유통JOIN-055주문 583건의 '구매 직전에 본 상품'을 찾는 데 조회 로그를 583번 통째로 읽고, 14건은 결과에 없다중급SELECT이커머스JOIN-056정가를 당시 가격 이력으로 바꾸라는 감사 지적을 반영했더니 하반기 정가 점검이 정산 인덱스를 5만 번 찾아간다중급SELECT한빛유통JOIN-057같은 '마지막 주문' 뷰를 쓰는데 고객 상세는 0.001초, VIP 목록 스무 줄은 0.2초가 걸린다실전SELECT한빛유통JOIN-058가격 조회가 느리다며 상품가격 테이블에 종료일 칸을 추가하자는 변경 요청서가 올라왔다실전DDL유통JOIN-059매장 계약 이력을 붙이는 SQL 넷에 인덱스를 달아 달라는데 이력 테이블은 6블록뿐이다실전DDL버거JOIN-060「VIP 이달 구매 상품」 83줄을 띄우는 데 고객 마스터를 8,355번 찾아간다기초SELECT한빛유통JOIN-061카테고리 페이지의 「이 분류 인기 상품」이 491블록만 읽는데 한 번에 0.1초 가까이 걸린다기초SELECT이커머스JOIN-062커버링 인덱스로 8블록이면 끝나는 「누적 판매 수량」이 상품 상세 화면에서는 1천 블록을 읽는다기초SELECT한빛유통JOIN-063버거와 감자튀김과 콜라를 낱개로 함께 산 주문을 세는 데 주문상품 PK를 1만 3천 번 찾아간다기초SELECT버거JOIN-064메뉴별 월 판매 수량에 매장도 메뉴 이름도 안 쓰는데 주문 100만 건을 맞대 본다중급SELECT버거JOIN-065매장을 바꿔 골라도 「매장 일 판매 현황」의 숫자가 똑같다중급SELECT유통JOIN-066「월간 주문 채널 분석」 추출에 칸을 하나 더할 때마다 읽는 블록이 2천 개씩 늘어난다중급SELECT한빛유통JOIN-067「주말 · 지역 · 메뉴 분류 판매」 리포트가 고른 조건과 상관없이 늘 6만 블록을 읽는다중급SELECT버거JOIN-068정보계의 「분기 상품 매출」 리포트가 상품 25줄을 내는 데 3초 가까이 걸린다중급SELECT한빛유통JOIN-069「신선 상품 월간 판매 상세」가 월초에는 바로 뜨고 월말로 갈수록 느려진다중급SELECT한빛유통JOIN-070판매 마트의 리포트 세 개가 모두 팩트를 통째로 읽는데, 업체는 리포트마다 결합 인덱스를 하나씩 만들자고 한다실전DDL유통JOIN-071판매 뷰로 만든 「상품별 누적 판매」가 쓰지도 않는 판매 헤더 50만 건을 함께 읽는다실전DDL유통JOIN-072연말 매출 요약 배치를 두고 개발자는 해시 조인이, DBA는 NL 조인이 빠르다고 한다실전INSERT한빛유통JOIN-073코드 정리 배포 다음 날부터 매장 「영수증 목록」 첫 화면이 0.01초에서 0.15초로 늘었다기초SELECT유통JOIN-074조인을 ANSI 문법으로 바꾸는 도구를 돌린 뒤 점주 앱 「오늘 주문 상세」가 한 번에 14초씩 걸린다기초SELECT버거JOIN-075송장 몇 장을 묶어 다시 뽑는 API가 주문상세 20만 줄을 통째로 읽는다기초SELECT한빛유통JOIN-076해시 조인 힌트를 넣었다는 월 정산 대사가 여전히 주문을 4,170번 찾아간다기초SELECT한빛유통JOIN-077오픈 첫 달에 해시로 고정한 「일 매장 판매 현황」이 하루치를 보는데 주문상품 247만 줄을 읽는다중급SELECT버거JOIN-078월 매장별 상품 판매 파일에 해시 조인 힌트를 달았는데 계획은 그대로 주문상품을 4만 번 찾아간다중급SELECT버거JOIN-079「지역 고객 오늘 주문」에 연간 누적 칸을 붙이고 나서 화면이 0.01초에서 1.7초가 됐다중급SELECT한빛유통JOIN-080힌트로 계획을 고정해 두었다는 「매장 월 상품 판매」가 통계를 새로 모은 주말 뒤로 두 배 넘게 읽는다중급SELECT유통JOIN-081관심 고객 묶음을 1,000명까지 올릴 수 있게 바꾼 뒤 「묶음 고객 최근 주문」이 읽은 블록 수 상위에 올라왔다중급SELECT한빛유통JOIN-082리포트 SQL 일괄 점검을 마친 다음 날 「일 상품 판매 리포트」가 0.01초에서 1.4초가 됐다중급SELECT한빛유통JOIN-083공통 모듈의 주문 상세 SQL은 계획이 바뀔 때마다 상담 화면과 회계 배치 가운데 한쪽이 느려진다실전SELECT한빛유통JOIN-084인수받은 판매 마감 패키지의 SQL 넷을 점검하는데 Hint Report가 넷 다 다르게 찍힌다실전INSERT유통JOIN-085힌트 유효기간 대장의 「조사필요」 세 줄을 정리하다가, 힌트를 뗀 판으로 돌린 영수증 출력이 뒤죽박죽이 됐다실전SELECT유통

SUBQ서브쿼리와 쿼리 변환70

SUBQ-001고객 2,000명만 확인하면 되는 점검이 고객 마스터를 75만 번 찾아간다실전SELECT한빛유통SUBQ-002IN으로 바꿨을 뿐인데 평가 상품 TOP 5가 13배 느려졌다중급SELECT한빛유통SUBQ-003카테고리 개편 뒤 상품 등록 화면의 카테고리 목록이 비었다기초SELECT유통SUBQ-004평가 수와 평점은 맞는데 매출만 원장의 정확히 50배다중급SELECT한빛유통SUBQ-005고객 한 명의 주문 50건을 보려고 주문상세 10만 건을 다 묶는다중급SELECT한빛유통SUBQ-006취소 주문은 549건뿐인데 6월 주문 내려받기가 취소 테이블을 2만 7천 번 찾아간다기초SELECT한빛유통SUBQ-007날짜는 30개뿐인데 그날 매출 합계를 4,110번 다시 구한다중급SELECT한빛유통SUBQ-008매장 이름과 주소 두 칸을 붙이는 데 매장 테이블을 1만 4천 번 찾는다기초SELECT버거SUBQ-009결제 대기 목록 한 쪽 50건을 여는 데 주문상세를 150번 찾아간다중급SELECT한빛유통SUBQ-010고객 월 실적 마감 배치가 고객 2,000명마다 주문 테이블을 세 번 뒤진다중급INSERT한빛유통SUBQ-011업그레이드 다음 날부터 가맹점주 앱의 「최근 주문 20건」이 2초를 넘긴다중급SELECT버거SUBQ-012상품 280개짜리 평점 요약표가 리뷰 테이블을 560번 읽는다중급SELECT이커머스SUBQ-013상품은 100개뿐인데 누적 판매 순위를 내는 데 상품 마스터를 5천 번 찾는다기초SELECT한빛유통SUBQ-014스칼라 서브쿼리를 조인으로 바꿨더니 발주한 적 없는 상품 41개가 발주 1건으로 나온다중급SELECT유통SUBQ-015매장 여섯 줄짜리 판매 현황이 판매 테이블을 여섯 번 통째로 읽는다기초SELECT유통SUBQ-016감사팀의 6월 영수증 대장이 판매상품 110만 줄을 세 번 묶고 TEMP까지 쓴다실전SELECT유통SUBQ-017VIP 관리 화면 묶음 세 개가 대용량 주문 테이블을 하루 4,600번 통째로 읽는다실전DDL한빛유통SUBQ-018점주 앱 장애의 재발을 막겠다며 DBA가 오늘 밤 옵티마이저 파라미터 하나를 시스템 전체에 반영하겠다고 한다실전SELECT버거SUBQ-019쿠폰 대상 400명을 뽑는 조회가 평가 테이블을 2,000번 읽는다기초SELECT한빛유통SUBQ-020부산 매장 열 곳의 하루 판매를 보는데 그날 주문 1,368건의 상품을 다 읽는다기초SELECT버거SUBQ-021카테고리를 고르면 팔린 상품 일곱 개를 보여 주는 팝업이 판매상품 인덱스를 통째로 읽는다기초SELECT유통SUBQ-022어젯밤부터 정산 배치의 취소분 정리 단계가 열 배 넘게 느려졌다중급DELETE한빛유통SUBQ-023점장이 영수증 한 장을 찾는 데 판매상품 110만 줄을 다 읽는다중급SELECT유통SUBQ-024사내 템플릿대로 힌트를 붙였더니 VIP 고가 주문 조회가 열두 배 느려졌다중급SELECT한빛유통SUBQ-025품질팀의 클레임 역추적 조회가 그날 주문 37건을 찾는 데 6초 걸린다중급SELECT버거SUBQ-026재구매 감사 쿠폰이 고객 한 명에게 두세 장씩 나갔다기초INSERT이커머스SUBQ-027등급 재산정 UPDATE가 C 등급 고객 1,800명을 보는 데 주문 블록 90만 개를 읽는다중급UPDATE한빛유통SUBQ-028매장 단체 주문 알림을 새로 고칠 때마다 2초씩 걸리고 TEMP를 쓴다중급SELECT버거SUBQ-029매장 다섯 곳의 「기존점 객수」 타일이 지난주부터 하루 논리 읽기 3위에 올라 있다실전SELECT유통SUBQ-030일 조회를 살리려고 붙인 힌트 때문에 행사 매출 화면의 월 조회가 0.4초를 넘긴다실전SELECT유통SUBQ-031거래처 납품 상품의 판매 실적표에서 상품마다 매출이 서로 다른 배수로 부풀었다실전SELECT유통SUBQ-032리뷰 요청 대상 「지난주 평가 없는 상품」이 4주째 0개이고, 실행은 0.01초도 안 걸린다기초SELECT한빛유통SUBQ-033거래처 한 곳을 거래 정지로 등록한 다음 날, POS 메뉴에서 매장 제조 음료가 모두 사라졌다기초SELECT유통SUBQ-034「보류 건 제외」를 켜면 숫자가 나오고, 끄면 30일 내내 0건이 된다기초SELECT한빛유통SUBQ-035부분 취소 재정산을 연 뒤로 월초 정산 보정 배치가 0.1초에서 12초가 됐다중급INSERT한빛유통SUBQ-036늘 0건인 「빈 영수증 점검」이 10분마다 1.6초씩 돌며 TEMP를 쓴다중급SELECT버거SUBQ-037NOT IN을 NOT EXISTS로 바꾼 다음 날부터 관심 상품 푸시 대상 적재가 ORA-01400으로 멈춘다중급INSERT이커머스SUBQ-038「발주 누락 점검」에 6월에 발주한 상품까지 109개가 다 나온다중급SELECT유통SUBQ-039운영본과 보관본의 MINUS 대사가 0행으로 끝났는데, 한 문장에 20초와 TEMP 400MB가 든다실전SELECT버거SUBQ-040「어제 세트 메뉴를 못 판 매장」이 날마다 0곳이고, 이틀 문을 닫은 매장도 빠졌다기초SELECT버거SUBQ-041하루 3,000번 여는 「미정산 주문」 화면이 20건을 보여 주려고 1,536블록을 읽는다실전DDL한빛유통SUBQ-0427월 미정산 주문을 개발자 네 명이 뽑았더니 0건, 31건, 58건, 110건이 나왔다실전SELECT한빛유통SUBQ-043「판매 이력 없는 상품」을 지운 다음 날 발주 화면에서 원재료 20개가 사라졌다중급DELETE유통SUBQ-044「상품 코드 오류 점검」이 마스터에 멀쩡히 있는 매장 제조 음료를 날마다 700줄 넘게 잡는다중급SELECT유통SUBQ-045공통 뷰를 거치는 매장 월 주문 목록이 주문 테이블을 통째로 읽는다기초SELECT버거SUBQ-046매장 일별 영수증 목록의 순번이 1이 아니라 38만부터 찍히고, 화면도 느리다기초DDL유통SUBQ-047패치 뒤로 상품 상세의 「최신 리뷰」가 날짜순이 아니라 뒤죽박죽으로 나온다기초SELECT이커머스SUBQ-048상품 수불 화면의 「발주」 탭이 57블록짜리 발주상품을 보는데 판매상품 110만 줄을 읽는다기초DDL유통SUBQ-049VIP 고객 20명의 미결제 주문을 보는 화면이 결제 대기 주문 8만 건을 모두 만든다중급SELECT한빛유통SUBQ-050하루 주문 1,368건의 품목 수를 붙이는 마감 점검이 주문상품 인덱스를 1,368번 찾아간다중급SELECT버거SUBQ-051고객 월 실적 적재가 지난달부터 논리 읽기 1위로 올라왔다중급INSERT한빛유통SUBQ-052점주 앱의 「주간 주문 추이」가 매장 한 곳의 일주일을 보는데 주문 2년 치를 읽는다중급SELECT버거SUBQ-053영수증 한 장의 품목 조회는 판매상품을 통째로 읽는데, 상품명을 붙인 조회는 바로 뜬다중급DDL유통SUBQ-054고객 월 매출표가 12월을 고르면 고객 평생 매출을 찍고, 6월을 고르면 한 명도 안 나온다중급SELECT한빛유통SUBQ-055영수증 합계 뷰를 쓰는 화면 셋 가운데 월간 객단가 리포트만 TEMP를 쓰며 1.4초 걸린다실전SELECT유통SUBQ-0562022년 주문을 아카이브로 떼어 낸 다음 날, 기간 매출은 22배, 고객 최근 주문은 175배 무거워졌다실전SELECT한빛유통SUBQ-057고객 두 명을 찾는 「고객 360」 한 화면이 콜센터 하루 논리 읽기의 절반을 차지한다실전SELECT한빛유통SUBQ-058운영 상황판의 「이번 달 주문 현황」 타일 하나가 논리 읽기 1위에 올랐다기초SELECT한빛유통SUBQ-059권역을 하나 더하면 월 주문 집계 배치도 그만큼 길어진다중급INSERT버거SUBQ-060주문 보관 테이블이 생긴 뒤로 매장 월 정산 집계가 4초씩 걸리고 TEMP를 쓴다기초DDL버거SUBQ-061구매팀 「상품별 발주 대비 판매」 화면의 판매 수량이 POS 일보의 2%도 안 된다중급SELECT유통SUBQ-062콜센터 고객 화면을 열 때마다 TEMP에 주문 33만 건이 쓰였다 지워진다중급SELECT한빛유통SUBQ-063판매 테이블을 한 번만 읽게 고친 1주, 4주, 13주 그래프에서 4주와 13주 막대가 낮아졌다중급SELECT유통SUBQ-064「2년 연속 구매 고객」 명단이 쿼리를 손본 다음 날부터 2,000명에서 1,937명으로 줄었다중급SELECT한빛유통SUBQ-065교환 손님이 올 때마다 POS의 「영수증 이력」 창이 0.2초씩 멈춘다기초SELECT유통SUBQ-066리콜 추적용 개수 단위 이력이 주문상품 수량 합계보다 2,835개 적다중급INSERT버거SUBQ-067월말 마감 주간마다 경영 리포트 화면의 SQL 셋이 논리 읽기 1 ~ 3위를 차지한다실전SELECT한빛유통SUBQ-068월초 정산 검수 대상 조회가 결제 완료 주문 3,800건을 보는 데 9초가 걸린다실전SELECT한빛유통SUBQ-069회계 감사용 포인트 원장 내려받기의 2024년 적립 합계가 18,500포인트 모자란다실전SELECT이커머스SUBQ-070카테고리 평균 대비 칸을 더한 뒤로 상품 판매 분석 화면의 읽기 블록이 두 배가 됐다기초SELECT유통

SORT소트 튜닝과 페이징70

SORT-001정산 목록 화면이 1페이지는 괜찮은데 100페이지쯤 가면 멈춘 듯 느리다중급SELECT한빛유통SORT-002상품 상세의 「최근 리뷰 10건」이 늦게 뜬다, 인기 상품일수록 심하다는데기초SELECT이커머스SORT-003연말 감사 선물 대상 스무 명을 뽑는 화면이 주문 테이블을 3,340번 찾아간다기초SELECT한빛유통SORT-004「상품별 현재 판매가」에 상품이 두 줄씩 나온다중급SELECT유통SORT-0052페이지에 1페이지 끝 주문이 또 나오고, 어떤 주문은 어디에도 없다실전SELECT버거SORT-006고객 상세의 「최근 주문 10건」에 어제 주문이 없다, 날짜순으로 줄은 서 있는데기초SELECT한빛유통SORT-007본사 상황판의 「방금 들어온 주문 20건」이 10초마다 22,422블록을 읽는다기초SELECT버거SORT-008「고액 판매 TOP 100」을 월요일 아침에 열면 TEMP 경보가 울린다중급SELECT유통SORT-009매장 상세에 「첫 판매일」 한 칸을 더했더니 3블록이던 조회가 305블록이 됐다기초SELECT유통SORT-010「최근 리뷰 10건」은 12블록인데 상단 배지 「마지막 5점 리뷰」가 59블록을 읽는다중급SELECT이커머스SORT-011상품 주문 내역이 1쪽만 나오고 2쪽부터는 빈 화면인데, 빈 화면이 1쪽보다 늦게 뜬다중급SELECT한빛유통SORT-012같은 날은 주문 순서대로 보여 달라는 요청 하나에 장부 첫 화면이 14블록에서 5,826블록이 됐다중급SELECT한빛유통SORT-013많이 팔리는 메뉴는 「최근 판매 50건」이 바로 뜨는데 시즌 메뉴를 고르면 화면이 멈춘다중급SELECT유통SORT-014인덱스 이름을 표준에 맞춘 다음 날부터 「재구매 간격」이 전부 수백 일로 나온다기초SELECT한빛유통SORT-015「매장 생존 점검」이 POS가 멈춘 매장을 못 잡고, 1분마다 5천 블록을 읽는다중급SELECT버거SORT-016지역장 화면의 「담당 매장 최근 주문 20건」, 담당 매장이 많은 지역장일수록 무겁다실전SELECT버거SORT-017인덱스가 하나도 없는 정산 테이블에 정산 모니터 화면 SQL 다섯 개가 붙는다실전DDL한빛유통SORT-018판매 모니터 「최근 판매 20건」이 열 때마다 15만 블록을 읽고, 맨 윗줄은 오전 9시대 판매다실전SELECT유통SORT-019「전 매장 주문 목록」 1쪽은 바로 뜨는데 400쪽은 한참 걸린다기초SELECT버거SORT-020판매 50만 건을 5,000건씩 넘기는 연동 배치, 뒤쪽 묶음일수록 한 번이 길어진다중급PLSQL유통SORT-021상품평 「더 보기」를 누르면 방금 본 평가가 또 나온다기초SELECT한빛유통SORT-022주문상품 모니터에서 쪽 끝에 걸린 주문은 버거만 보이고 감자와 콜라가 사라진다중급SELECT버거SORT-023「주문 관리」 뒤 쪽이 느린데, 고객명 칸을 빼 보니 훨씬 빨라졌다기초SELECT한빛유통SORT-024판매 목록 첫 쪽 20줄을 여는 데 2.4초가 걸린다중급SELECT유통SORT-025「VIP 주문만」을 켜면 목록이 느려지고, 빠르게 고쳤다는 SQL은 빈 쪽을 보여 준다실전SELECT한빛유통SORT-026판매 검색 목록은 바로 뜨는데 「총 n건」 칸만 늘 한 박자 늦게 채워진다기초SELECT유통SORT-027총건수 쿼리를 목록에 합쳤더니 1쪽까지 느려졌다중급SELECT이커머스SORT-028「메뉴별 판매 내역」은 앞쪽은 바로 뜨는데 200쪽쯤부터 1초 가까이 걸린다중급SELECT버거SORT-029결제 대기 주문을 오래된 것부터 정리하려고 마지막 쪽으로 가면 화면이 3초씩 멈춘다실전SELECT한빛유통SORT-030결제 내역 화면은 검색 한 번에 SQL 세 개가 돌고, 셋 다 주문 테이블을 통째로 읽는다실전DDL한빛유통SORT-031매장 판매 일지에서 세 쪽 넘게 넘긴 뒤 「이전」을 누르면 늘 첫 쪽이 나온다중급SELECT유통SORT-032날짜 칸을 글자로 바꿔 준 다음 날부터 연간 주문 금액 내려받기가 세 배 느려졌다기초SELECT한빛유통SORT-033상담원 화면의 고객 이름 순서를 바로잡은 다음 날부터 주문 원장 첫 화면이 주문 테이블을 통째로 읽는다기초SELECT한빛유통SORT-034이상 판매 점검의 「수량 상위 1%」는 인덱스를 끝까지 읽고, 「수량 상위 20줄」에는 1,399줄이 뜬다중급SELECT유통SORT-035월 판매 원장 화면이 일 판매 원장보다 줄은 적은데 한 쪽을 여는 데 스무 배 넘게 읽는다기초SELECT유통SORT-036운영 상황판의 「최근 30일 판매 품목 수」가 열 때마다 주문상품 인덱스를 통째로 읽는다중급SELECT버거SORT-037PG사 요청으로 정산 파일 레코드를 300바이트로 늘린 뒤부터 추출 배치가 TEMP를 쓴다중급SELECT한빛유통SORT-038「이 상품을 산 주문」 목록에서 같은 날 같은 금액으로 두 번 산 주문이 한 줄로 보인다중급SELECT이커머스SORT-039고객 등급 재산정 배치가 작업 테이블을 채우다 ORA-01652로 멈췄다기초INSERT한빛유통SORT-040야간 TEMP를 줄이려는 적재 정리안을 개발 서버에 먼저 넣었더니 메뉴별 판매 추이 화면이 45배 무거워졌다중급INSERT유통SORT-041주문상세 조인을 걷어냈는데도 「연간 주문 목록」 내려받기는 그대로 무겁다중급SELECT한빛유통SORT-042메뉴별 판매 매장 목록이 하루치는 같은 매장 이름을 되풀이하고, 한 달로 넓히면 ORA-01489로 멈춘다실전SELECT버거SORT-043매출 분석 개편 SQL 네 개 가운데 셋이 대용량 주문을 통째로 읽고, 고객 구매 달력 적재는 TEMP까지 쓴다실전DDL한빛유통SORT-044점장 앱 달력에 「주문 있는 날」 점을 찍는 데 한 번에 1천 블록을 읽는다실전SELECT버거SORT-045유형 소계와 전체 합계 줄을 붙인 뒤로 「월간 메뉴 판매표」가 주문상품을 세 번 읽는다기초SELECT버거SORT-046CUBE로 바꾼 교차표에서 「미결제」 줄이 사라지고 전체 합계 칸이 열 때마다 바뀐다중급SELECT한빛유통SORT-047금액이 두 배로 나와 DISTINCT를 붙였더니 이번에는 주문 금액이 원장의 73%로 찍힌다중급SELECT한빛유통SORT-048월 마감 요약 세 개의 합계가 서로 어긋나고, 마감 배치는 판매상품 테이블을 세 번 통째로 읽는다중급INSERT유통SORT-049「매장 월 순위」 200줄이 1.4초씩 걸리고, 월초에는 논리 읽기 1위다기초SELECT버거SORT-050「재주문 간격 분포」 다섯 줄을 내는 데 2초 가까이 걸린다기초SELECT한빛유통SORT-051「품절 의심 구간」이 6초 걸리고, 12월 초부터 안 팔린 상품은 목록에 없다중급SELECT유통SORT-052대시보드의 「월별 주문 금액 분포」가 새로 고칠 때마다 TEMP를 22MB 쓴다기초SELECT한빛유통SORT-053포인트 내역에서 사용과 적립이 같은 초에 찍힌 두 줄은 잔액이 똑같이 나온다중급SELECT이커머스SORT-054「월 매출 전년 대비」 36줄을 내는 데 TEMP를 31MB 쓴다중급SELECT한빛유통SORT-055대시보드의 「6월 구매 고객」이 21,947명인데 고객은 2,000명뿐이다실전INSERT한빛유통SORT-056DW로 넘기는 「판매 흐름」 추출이 정렬을 네 번 하고, 정렬마다 TEMP를 27MB씩 쓴다실전INSERT유통SORT-057「매장 일 실적 보드」를 한 번 열면 주문 인덱스를 1만 8천 번 찾고, 쉰 날은 보드에서 빠진다실전SELECT버거SORT-058MD 회의 자료의 「매장별 판매 TOP 3」, 같은 12월 데이터인데 뽑을 때마다 3위가 바뀐다기초SELECT유통SORT-059추출 조건에 「전부」를 더한 뒤로 고객별 최근 주문 3건 추출이 TEMP를 37MB 쓴다중급SELECT한빛유통SORT-060정산팀 주문 모니터에 새로 붙은 위젯 셋이 5분마다 주문 테이블을 한 번씩 통째로 읽는다실전DDL한빛유통SORT-06188줄짜리 「상품별 마지막 판매」 리포트가 열 때마다 TEMP를 38MB 쓴다중급SELECT유통SORT-062고객 한 명의 배송 현황을 띄우는 데 배송 이력 24만 줄의 현재 상태를 다 매긴다실전SELECT한빛유통SORT-063매장 200줄이어야 할 「매장별 월 주문 건수」 표가 50만 줄로 내려와 엑셀이 멈춘다기초SELECT버거SORT-064목표 대비 실적 화면이 판매상품을 열두 번 읽고, 빨라진 새 판은 목표를 잡지 않은 달의 실적을 빠뜨린다중급SELECT유통SORT-065「결제수단별 월 주문 건수」 표의 카드, 계좌이체, 간편결제 세 칸이 매달 똑같은 숫자다기초SELECT이커머스SORT-066「메뉴별 월 판매 추이」 24개월 그래프가 열 때마다 주문상품 5만 5천 블록을 다시 묶는다중급SELECT버거SORT-067월별 매출 대시보드가 아침 9시 전에는 3블록인데 첫 주문이 들어온 뒤로는 하루 종일 5,826블록이다중급DDL한빛유통SORT-06810분마다 도는 매장 일별 판매 MV 새로 고침 잡이 유통 DB 논리 읽기 1위다중급DDL유통SORT-069본사 전광판 숫자가 결제 즉시 바뀌게 된 다음 날부터 점심 결제 저장이 1초를 넘긴다실전DDL버거SORT-070밤 체인의 고객 월별 구매 MV 새로 고침이 38초 걸리고 redo를 61MB 남긴다기초PLSQL한빛유통

PART파티션50

PART-001석 달만 보는데 24개월 칸을 전부 연다기초SELECT버거PART-002영수증 번호 하나를 찾는데 인덱스를 24번 연다중급SELECT버거PART-003매달 한 달 치를 DELETE로 지우는데, 지운 칸이 그대로 무겁다실전DDL버거PART-004마감 재집계에 정정 요청 주문을 함께 넣자 한 달 집계가 36개월 칸을 다 연다기초SELECT한빛유통PART-005하룻밤 판매 40건을 세는 조회가 판매 테이블을 통째로 읽는다중급SELECT유통PART-006구 POS 판매까지 보이게 통합 뷰로 바꾼 뒤 매장 판매 이력이 0.01초에서 0.09초가 되었다중급SELECT유통PART-007본사 대시보드의 월 매장 실적이 한 달을 보려고 47,460블록을 읽는다기초SELECT버거PART-008프루닝이 안 된다며 날짜를 SQL에 이어 붙인 뒤 하드 파싱이 하루 4천 번으로 늘었다기초SELECT한빛유통PART-009열린 두 달만 다시 집계하는 MERGE가 3년 치 주문을 다 읽는다중급MERGE한빛유통PART-010행사일 엿새의 판매를 세는데 2년 치 판매 칸을 다 연다중급SELECT유통PART-011매장 주문 내역 화면이 어떤 때는 바로 뜨고 어떤 때는 한참 걸린다중급SELECT버거PART-012파티션 테이블로 옮긴 월 마감 프로시저가 예전보다 빨라지지 않았다실전PLSQL한빛유통PART-013주문은 한 칸만 읽는데 주문상품은 매번 24칸을 다 뒤진다실전SELECT버거PART-014결제일 하루치 정산이 주문 테이블을 통째로 읽는다실전SELECT한빛유통PART-015포인트 소멸 안내 배치의 실행계획에 Pstop 1048575가 찍힌다기초INSERT이커머스PART-016파티션으로 옮긴 뒤 반품 영수증 조회가 논리 읽기 상위 목록에 올라왔다기초SELECT유통PART-017새벽 재적재 배치가 이번 달 칸을 비운 뒤 INSERT에서 멈췄다기초DDL유통PART-018주문 테이블을 연도별 칸으로 나누고 PK를 만들려니 ORA-14039가 난다기초DDL이커머스PART-019월 정리가 돈 날 아침부터 점주 앱의 기간 주문 조회가 몇 초씩 걸린다기초DDL버거PART-020고객 상담 화면의 6개월 주문 조회가 칸 여섯 개만 여는데도 600블록이 넘는다중급SELECT한빛유통PART-021고객의 고액 주문 다섯 건을 보려고 그 고객 주문 500건을 다 읽고 정렬한다중급SELECT한빛유통PART-022오래된 칸을 압축한 다음 날부터 2022년 주문 이력 조회만 느려졌다중급DDL한빛유통PART-023재전송 주문 MERGE를 빠르게 고친 뒤 같은 주문번호가 두 달 칸에 하나씩 생겼다중급MERGE버거PART-0242022년 칸의 인덱스를 끄는 스크립트가 오류 없이 끝났는데 인덱스가 한 블록도 줄지 않았다중급DDL한빛유통PART-025판매상품도 월별 칸으로 옮기려는데 판매상품 테이블에는 날짜가 없다실전DDL유통PART-026이관 리허설에서 첫 월 정리를 돌리자 인덱스 넷이 한꺼번에 UNUSABLE이 되었다실전DDL한빛유통PART-027새 달 칸을 만들지 않아 기본 칸에 1월과 2월 주문이 섞여 쌓였다실전DDL버거PART-028새해 0시가 지나자 쇼핑몰 주문 등록이 모두 ORA-14400으로 실패한다기초DDL한빛유통PART-029칸을 하나만 여는데도 한 달 조회가 한 해 치를 읽는다기초DDL버거PART-030매장별로 나눴다는 판매 테이블인데 매장마다 조회 일량이 두 배씩 차이 난다기초SELECT유통PART-031판매상품 재집계를 칸마다 하나씩 여섯 작업으로 나눴는데 두 작업만 두 배 늦게 끝난다기초DDL유통PART-032같은 한 달 조회가 ORD_LIST에서는 1,980블록인데 ORD_LIST_HASH에서는 9,039블록이다중급DDL버거PART-033결제 완료 처리가 ORA-14402로 막혀 ROW MOVEMENT를 켰더니 결제 한 건의 redo가 세 배가 되었다중급UPDATE한빛유통PART-034주문 100만 행을 하루 단위 INTERVAL 칸으로 옮겼더니 47MB가 8.6GB가 되었다중급DDL한빛유통PART-035매장 포털은 빨라졌는데 본사의 월 판매 집계만 판매 테이블 120칸을 다 연다중급SELECT유통PART-036블랙프라이데이 오픈 20분 동안 상품 조회 기록 저장이 0.002초에서 0.09초로 늘어난다중급DDL이커머스PART-037파티셔닝 승인이 났는데 주문 테이블을 무엇으로 나눌지 네 사람의 말이 다 다르다실전DDL한빛유통PART-038보관 규정이 바뀐 뒤 칸째 들어내던 주문상태이력 정리가 다시 행마다 지우는 DELETE가 되었다실전DDL한빛유통PART-039주문을 매장 200곳 × 24개월, 4,800조각으로 나누자는 안이 올라왔다실전DDL버거PART-040월 확정 재적재가 도는 3분 동안 정산 화면의 6월 매출이 0원으로 나온다중급INSERT한빛유통PART-041교환용 테이블을 똑같이 떴는데 EXCHANGE가 ORA-14097로 거부된다기초DDL한빛유통PART-042본사 월별 판매 추이 리포트의 8월 건수가 매장 마감 합계보다 702건 많다중급DDL유통PART-0436월분을 교환으로 넣은 뒤 6월 영수증 재조회만 느리고 6월 재전송 주문은 ORA-01502로 막힌다기초DDL버거PART-044세금계산서 판매만 5년 남기라는 규정 때문에 2만 행 DELETE가 매달 redo 9MB를 쓴다중급DELETE유통PART-045주문 칸을 들어내려니 ORA-02266이 나서 주문상세부터 매달 DELETE로 지운다실전DDL한빛유통PART-046이관 리허설에서 월별 적재 작업 넷을 동시에 띄웠는데 한 번에 하나씩만 돈다중급INSERT한빛유통PART-0472022년 주문의 고객번호를 가명으로 바꾸는 UPDATE, 병렬로 돌려도 redo 186MB와 두 배가 된 인덱스는 그대로다실전UPDATE한빛유통PART-0482013년 시간대별 메뉴 판매 집계가 두 테이블 모두 12칸만 읽는데도 TEMP를 22MB 쓴다기초SELECT버거PART-049해시 8칸으로 나눈 두 분석 테이블을 병렬로 조인하는데 주문상품 247만 행이 서버 사이를 오간다중급SELECT버거PART-050연간 상품 판매 집계를 DOP 2에서 8로 올렸더니 TEMP를 쓰며 오히려 느려졌다실전SELECT유통

DMLDML과 배치 튜닝70

DML-00110만 건을 한 건씩 넣고 1,000건마다 커밋하는 정산 적재중급PLSQL한빛유통DML-002매장 하나의 시각을 정정했는데 104,864건이 갱신됐다중급MERGE버거DML-0032년 치 주문을 지웠는데 전체 조회는 그대로 22,422블록실전DELETE버거DML-004INSERT 한 문장에 329초, 일요일 밤 재적재가 아침 9시를 넘긴다기초INSERT한빛유통DML-005에러 로그는 깨끗한데 보정이 170건 모자란다실전PLSQL한빛유통DML-006월 마감 상품 집계가 상품 수에 비례해 느려진다기초PLSQL유통DML-007미결제 주문 2,191건을 취소하는 데 1분 32초가 걸린다기초UPDATE한빛유통DML-008누적 실적 배치가 한 번 더 돌자 6월 주문이 두 번 더해졌다중급MERGE한빛유통DML-009포인트 소급 적립 5,604건에 12초, 대기 1위가 log file sync다기초INSERT이커머스DML-010루프를 한 문장으로 바꾸자 12월 주문상품이 1,206건 모자란다중급INSERT버거DML-011정산 10만 건에 고객 등급을 채우는 단계가 적재 단계보다 오래 걸린다기초MERGE한빛유통DML-012발주 수량 환산 배치가 500건째에서 멈췄고, 다시 돌리자 수량이 144배가 됐다중급UPDATE유통DML-013야간 체인에서 부가세 분리 단계만 여전히 INSERT를 10만 번 실행한다중급PLSQL한빛유통DML-014직접 경로로 바꿨다는 컨설팅 사본 적재가 5분을 넘기고, 사본은 10만 블록으로 불었다실전PLSQL버거DML-015취소 정리를 세 문장으로 바꿨더니 처리됨인데 판매가 남은 건이 생겼다중급DELETE유통DML-016고객 2,000명 등급 재산정에 3분 38초, 문자 발송 탓이라는데실전PLSQL한빛유통DML-017매장 상품 월 집계를 FORALL로 바꿨는데 논리 읽기가 그대로다중급MERGE버거DML-018입고 배분 재계산에 41초, 앞 줄 결과가 다음 줄을 정해서 한 문장으로는 안 된다고 한다실전MERGE유통DML-019요일 칸 몇천 건을 바로잡는 보정 UPDATE가 매주 50만 건을 고친다기초UPDATE유통DML-020고객번호를 가명으로 바꾸는 UPDATE 한 문장에 2분 47초가 걸리고, 그 뒤로 분석 업체의 기간 조회가 1.5배 블록을 읽는다기초DDL한빛유통DML-021매장 통폐합 MERGE가 ORA-38104로 멈추자 폐점 매장마다 UPDATE를 한 번씩 돌린다기초UPDATE버거DML-022배송 완료를 주문에 반영하는 조인 뷰 UPDATE가 ORA-01779로 막힌다중급UPDATE이커머스DML-023재고 이력에 전일 재고 칸을 채우는 UPDATE가 40만 행에 블록 319만 개를 읽는다기초MERGE유통DML-024판매 금액 칸을 상세 합계로 맞추는 조인 뷰 UPDATE가 ORA-01779로 막힌다중급MERGE유통DML-025회원 동기화에 조건을 붙였더니 생년월일을 새로 입력한 고객이 DW로 넘어가지 않는다중급MERGE한빛유통DML-026POS 재전송분 적재가 가끔 ORA-00001로 멈추고, 멈추지 않는 날에도 새 주문을 두 번 쓴다중급MERGE버거DML-0276월 단가 소급 조인 뷰가 ORA-01779로 막혀 서브쿼리 UPDATE로 바꿨더니 1만 5천 행을 고친다중급MERGE유통DML-028정산 확정 MERGE에서 ORA-38104를 피하려고 조건을 뺐더니 확정된 정산까지 다시 고쳐진다중급MERGE한빛유통DML-029지난달 매장 일 집계를 다시 맞추는 배치가 48만 블록을 읽고, 주문을 지운 날의 숫자는 그대로 남긴다실전MERGE버거DML-030정정 반영 버튼을 누를 때마다 주문 100만 건을 읽고, 반영되지 않은 정정이 가끔 '반영'으로 찍힌다실전UPDATE한빛유통DML-031상품평가 한 건 등록에 SQL이 두 번 오가고, 신상품 출시 시각에는 평가 등록이 ORA-00001로 실패한다실전PLSQL한빛유통DML-032매일 밤 4만 6천 행만 다시 채우는 작업 테이블을 읽는 데 아직도 8천 블록이 든다기초DELETE유통DML-033보관본 적재에 NOLOGGING까지 붙였는데 운영 redo가 47.9MB 그대로다기초INSERT한빛유통DML-034보정 누락분을 한 번에 넣은 7분 동안 보정 화면 11개가 멈춰 있었다기초INSERT한빛유통DML-035연습 DB에서는 끝나던 월 집계 배치가 운영에서 ORA-12838로 멈춘다기초PLSQL유통DML-036보관 배치에 APPEND를 붙였는데 redo가 그대로이고, 트리거를 끄자 보관 일시가 비었다중급INSERT한빛유통DML-03714화 처방대로 바꾼 주문상품 일 적재가 0.6초에서 41초로 늘었다중급INSERT버거DML-038일요일 분석용 사본 재적재는 성공으로 끝났는데 월요일 아침 0건이다중급PLSQL유통DML-039월요일 아침부터 정산 기간 조회가 91블록에서 5,822블록이 됐는데 에러는 하나도 없다중급PLSQL한빛유통DML-040LOG ERRORS를 붙여 둔 제휴 포인트 적재가 중복 3건 때문에 통째로 롤백됐다중급INSERT이커머스DML-041토요일 밤 2022년 주문을 정리한 뒤로 등급별 매출 화면이 어떤 때는 0.3초, 어떤 때는 4초다중급DDL한빛유통DML-042이번 달 주문상품 칸을 밤마다 지우고 다시 넣는 데 2분이 넘고 redo가 110MB씩 나온다실전DDL버거DML-043PARALLEL 8을 붙인 월간 스냅샷 적재가 3분 18초에서 줄지 않는다실전INSERT버거DML-044건수는 그대로인데 1년 새 1.5배가 된 주문 이력, 보관 기간 단축도 DELETE 한 문장으로 올라왔다실전DELETE한빛유통DML-045앱 출시를 앞두고 보니 조회 기록 한 줄을 넣는 INSERT가 블록을 열여섯 개씩 고친다기초DDL이커머스DML-046보관을 마친 작년 주문 5만 건을 지우는데 TKPROF에 주문상세 DELETE가 5만 번 찍힌다기초DELETE한빛유통DML-04711월 판매상품 4만 5천 행을 다시 넣는 데 SQL이 9만 번 실행되고, 지운 상품 번호가 판매상품에 남아 있다중급INSERT유통DML-048판매 일보가 작년 상반기 날짜는 금방 뜨는데 하반기 날짜는 80배 블록을 읽는다기초UPDATE유통DML-049고객센터 주문번호 찾기용 인덱스 하나를 더 지었을 뿐인데 야간 재적재가 5초에서 22초가 됐다중급DDL한빛유통DML-050콜센터 주문상품 10만 행을 POS 쪽으로 옮기는 데 11.8초, 그중 대부분이 트리거 안의 조회다중급INSERT버거DML-051고객센터 최근 배송 목록 2,000건이 3천 블록을 읽는데, 테이블은 기본값으로 만들었다고 한다중급DDL이커머스DML-052금액을 부가세 포함으로 바꾸는 UPDATE 한 문장이 redo 1.2GB를 쓰고, DBA는 인덱스를 다 끄자고 한다중급UPDATE한빛유통DML-053장애 뒤 FK 컬럼마다 인덱스를 만들자는 스크립트에 야간 배치 담당이 반대한다중급DDL한빛유통DML-054판매상품 110만 행 이관 단계만 47초, 직접 경로에 인덱스도 없는데 느리다기초INSERT유통DML-055점심 피크마다 POS 결제 저장이 몇 초씩 멈추는데, 기다리는 상대가 같은 버거를 판 다른 매장이다실전PLSQL버거DML-056주문상세 6만 행 야간 적재가 19초로 늘자 세 사람이 서로 다른 처방을 들고 왔다실전PLSQL한빛유통DML-057배달 정보를 소급해 채운 뒤 일별 배달 현황이 12배 블록을 읽는데, 클러스터링 팩터는 그대로다실전DDL버거DML-058작업 테이블을 임시 테이블로 바꾼 첫 달, 월 판매 요약이 에러 없이 0건으로 끝났다기초PLSQL유통DML-059지역을 나눠 두 사람이 동시에 돌린 정산 명세에서 지역 1 ~ 4가 통째로 빠지고 5 ~ 8은 두 벌이 됐다기초PLSQL한빛유통DML-060휴면 예정 안내 배치가 어떤 날은 0통, 어떤 날은 어제 보낸 고객에게 또 보낸다중급PLSQL이커머스DML-061리포트를 중간 집계 테이블에서 뽑게 바꾸자 매장 월 주문 수가 원장의 2.5배로 찍힌다중급INSERT버거DML-062주문상품 정제 적재를 작업 8개로 나눴는데 3분 10초가 2분 31초로밖에 줄지 않고 디스크 읽기는 여덟 배가 됐다기초INSERT버거DML-063판매상품 6개월 치를 5,000건씩 끊어 지우는 정리가 56번 모두 판매 테이블을 통째로 다시 읽는다중급DELETE유통DML-06412월 카드 승인 재대사를 작업 8개로 나눠 돌렸는데 한 작업만 12분 넘게 돌고 일곱은 1초 만에 끝났다중급PLSQL버거DML-0652022년 주문을 5,000건씩 보관 DB로 옮긴 작업은 '완료'인데 보관본이 27,816건 모자란다중급INSERT한빛유통DML-066PG 정산 파일 10만 줄을 올리는 데 41초, 금액에 쉼표가 든 214줄은 오류 테이블로 빠진다중급INSERT한빛유통DML-067마지막 단계에서 죽은 일 마감 체인을 절차서대로 처음부터 다시 돌리자 정산 전표가 매장마다 세 장이 됐다실전PLSQL버거DML-068협력사 월 납품 실적 보고 체인 여섯 단계가 결과 617행을 만드는 데 12.7초와 redo 35MB를 쓴다실전INSERT유통DML-06915분 칸마다 한 단계씩 띄우는 월초 체인에서 등급 재산정이 칸을 넘기자 월 보정이 옛 등급으로 돌았다실전PLSQL한빛유통DML-070POS 장애로 밀린 일주일 치를 05:00 전에 마감해야 하는데, 하루 치 체인을 일곱 번 돌리면 108분이 넘는다실전PLSQL버거

LOCKLock과 동시성 제어50

LOCK-001아무도 안 건드렸다는데 정산 화면이 10분 멈췄다중급UPDATE한빛유통LOCK-002FK를 켠 다음 날, 개인정보 파기 배치가 주문 화면을 기다린다기초DDL이커머스LOCK-0031,000건마다 커밋했는데 ORA-01555로 죽었다중급PLSQL유통LOCK-004출고 작업자 8명이 한 명처럼 일한다중급SELECT이커머스LOCK-005점심 피크에 결제 버튼을 누르면 1초쯤 멈췄다가 다시 시도하라고 뜬다기초INSERT버거LOCK-006주문에 상품을 추가할 때 가끔 상세번호 중복 에러가 난다중급INSERT한빛유통LOCK-007자동발주 배치가 도는 3분 동안 물류센터 입고 화면이 멈춘다기초PLSQL유통LOCK-008혼자 하면 0.1초인 전표 확정이 월말 오후에는 2초씩 걸린다중급PLSQL한빛유통LOCK-009채번 함수를 바꾼 뒤 정산 보정 적재가 0.3초에서 61초로 늘었다실전PLSQL한빛유통LOCK-010출석 체크 이벤트가 열리는 10시 정각마다 포인트 적립이 3초를 넘긴다기초DDL이커머스LOCK-011시퀀스로 바꾼 뒤 정산번호가 군데군데 빈다중급DDL한빛유통LOCK-012매장 결제 저장이 건마다 0.3초씩 걸리고 토요일 오후엔 가끔 저장이 실패한다중급PLSQL유통LOCK-013매일 아침 개점 직후 첫 주문에서 몇몇 매장의 키오스크가 번호 발급 실패를 띄운다기초PLSQL버거LOCK-014본사 실시간 매출판의 하루 합계가 마감 매출보다 늘 몇 건 적다실전INSERT유통LOCK-015주문번호 중복은 사라졌는데 점심 피크의 결제 저장이 여전히 느리다중급DDL버거LOCK-016타임세일이 열리는 10시 정각마다 주문 등록이 0.03초에서 0.6초로 늘어난다실전DDL한빛유통LOCK-017가격 한 칸 고치는 상품 화면이 점심때마다 1분씩 멈춘다중급UPDATE한빛유통LOCK-018상품 11개를 지우는 정리 배치가 개점 뒤까지 끝나지 않는다실전DELETE유통LOCK-019매장끼리 재고를 주고받는 마감 시간에 ORA-00060이 뜬다기초UPDATE유통LOCK-020취소된 주문의 상세가 그대로 남았고, 그날 주문 수정 화면은 4분을 기다렸다중급PLSQL한빛유통LOCK-021네 갈래로 나눠 돌린 판매 집계 재계산이 데드락으로 죽고, 다시 돌리니 숫자가 늘었다실전PLSQL버거LOCK-022매시 정각부터 2분 동안 고객센터의 고객 정보 저장이 멈춘다기초SELECT한빛유통LOCK-023매장 리포트를 빠르게 했다는 다음 날 점심, POS 결제가 수십 초씩 멈춘다중급INSERT버거LOCK-024타임딜 10시 정각, 주문하기를 누른 화면이 몇 분씩 돌다가 사이트 전체가 멈췄다실전PLSQL이커머스LOCK-025고객 정보를 열어 두기만 했는데 등급 재산정 배치가 50분을 기다렸다기초UPDATE한빛유통LOCK-026정산 금액 저장 버튼 하나가 정산 시스템 화면 전체를 멈춘다기초SELECT한빛유통LOCK-027전송 작업을 넷으로 늘렸는데 점심 큐는 하나일 때처럼 쌓인다중급PLSQL버거LOCK-028입고 예정 배치는 매번 성공인데, 물류센터 화면에 없는 발주가 있다중급PLSQL유통LOCK-029상담원 둘이 같은 고객을 고치면 먼저 저장한 쪽의 변경이 사라진다기초UPDATE한빛유통LOCK-030하루 5,000개 한정 세트가 5,037개 팔렸다기초UPDATE버거LOCK-031아무도 고치지 않은 주문인데 '다른 사용자가 먼저 수정했습니다'가 세 번에 한 번 뜬다중급DDL한빛유통LOCK-032판매 중지로 바꾼 상품이 다음 날 판매 중으로 돌아와 있다중급UPDATE유통LOCK-033적립금은 덜 쌓이고 환불은 두 번 나가고 결제 완료 주문은 결제 대기로 돌아갔다실전UPDATE한빛유통LOCK-034점심 마감 보고서의 매장별 판매 건수를 더하면 총계와 맞지 않는다기초SELECT유통LOCK-035포인트 대사 리포트의 한 줄 안에서 적립, 사용, 소멸과 잔액이 맞지 않는다중급SELECT이커머스LOCK-036본사 반기 리포트가 새벽에는 31분에 끝나는데 낮에 돌리면 ORA-01555로 죽는다중급SELECT버거LOCK-037아무도 고치지 않은 테이블을 읽는 아침 추출이 ORA-01555로 죽는다실전SELECT한빛유통LOCK-038정산 배치에 SERIALIZABLE을 넣은 뒤로 아침마다 ORA-08177로 실패한다중급PLSQL한빛유통LOCK-039SERIALIZABLE로 바꿨는데도 거래처 발주 한도가 또 넘쳤다실전PLSQL유통LOCK-040컬럼 하나 더하는 패치를 돌린 3분 남짓 동안 쇼핑몰 주문 화면이 전부 멈췄다기초DDL한빛유통LOCK-041실패해서 되돌렸다는 재고 마감을 세 번 돌리자 재고가 하루 판매량의 세 배만큼 줄었다기초PLSQL유통LOCK-042메인 화면의 인기 상품 칸이 가끔 비고, 제휴사 상품 피드는 가끔 ORA-08103으로 끊긴다기초PLSQL이커머스LOCK-043포장 여부 컬럼을 넣는 배포 스크립트가 점심 직전 4분 동안 환불 화면을 세우고 ORA-02296으로 끝났다중급DDL버거LOCK-044지난달 교훈대로 ONLINE을 붙인 인덱스 생성이 38분째 끝나지 않는다중급DDL유통LOCK-045매장 실시간 매출판을 연 뒤로 점심 결제가 서로 다른 매장끼리 줄을 선다중급DDL버거LOCK-046토요일 오후 반품을 막던 UPDATE를 끊었는데 반품은 30분이 지나도 풀리지 않는다중급UPDATE유통LOCK-047매달 1일 오전 월 마감 확정을 하는 20분 동안 쇼핑몰 주문이 한 건도 들어오지 않는다중급PLSQL한빛유통LOCK-048월요일 10시 40분, 정산 화면 스물여섯 개가 멈췄는데 블로킹 트리의 뿌리가 둘이다실전SELECT한빛유통LOCK-049토요일 오후 영업 중에 돌리겠다는 변경 작업 계획서 다섯 줄을 검토해 달라고 한다실전DDL유통LOCK-050오후 3시에 돌린 2022년 주문 정리 3분 동안 반품 접수는 멈추고 대사 리포트는 서른 배 느려졌다실전UPDATE한빛유통

PARSE파싱과 바인드 변수45

PARSE-001한 번에 11블록 읽는 조회가 오전마다 공유 풀 경보를 울린다기초SELECT유통PARSE-002어떤 날은 취소 탭이, 어떤 날은 완료 탭이 느리다중급SELECT한빛유통PARSE-003인프라팀의 통보: 「CURSOR_SHARING을 FORCE로, 오늘 밤 반영합니다」실전SELECT한빛유통PARSE-004월 마감 업로드가 도는 3분 동안 매장 POS의 메뉴 화면까지 굼떠진다기초INSERT버거PARSE-005MyBatis를 쓰는데 상품 검색이 들어올 때마다 하드 파싱이 일어난다기초SELECT이커머스PARSE-006SQL은 한 줄도 안 바꿨는데 배포 다음 날부터 하드 파싱이 실행 수만큼 찍힌다기초SELECT한빛유통PARSE-007하드 파싱은 한 번뿐인데 TKPROF의 Parse 줄이 실행 수만큼 찍힌다기초DDL유통PARSE-008모바일 「내 등급」 API를 연 뒤로 정산 목록 커서가 하루에도 몇 번씩 다시 파싱된다중급SELECT한빛유통PARSE-009바인드 변수로 고쳤다는 주문 일괄 조회가 여전히 하드 파싱 상위에 있다중급SELECT한빛유통PARSE-010보정 6,000건을 고치는 주간 배치가 행 수에 비해 CPU를 너무 많이 쓴다중급PLSQL한빛유통PARSE-011개발 DB에서는 함수 기반 인덱스를 타던 월별 화면이 운영에서는 FULL로 돈다중급SELECT유통PARSE-012매시 정각이 되면 1~2분 동안 매장 POS 결제가 멈칫한다중급SELECT버거PARSE-013타임세일이 시작되면 결제 완료 콜백이 3초를 넘겨 결제 대행사가 같은 콜백을 다시 보낸다중급UPDATE한빛유통PARSE-0145분마다 매장 전광판 300대가 한꺼번에 3~4초씩 멈추고, 가끔 숫자가 0으로 깜빡인다실전PLSQL한빛유통PARSE-015점심 피크마다 CPU가 100%인데, 하드 파싱은 거의 없고 라이브러리 캐시 대기가 1위다실전DDL버거PARSE-016작년 가을 응급으로 켠 CURSOR_SHARING=FORCE를 되돌리자는 안건이 올라왔다실전SELECT유통PARSE-017카테고리 목록 API가 몰리는 시간마다 row cache lock이 1위로 오르고, 가끔 주문이 반쯤 남는다실전DDL이커머스PARSE-018엑셀 내려받기가 먼저 돈 날은 최근 주문 목록 첫 페이지가 느리다기초SELECT한빛유통PARSE-019글자 하나 다르지 않은 고객 조회 SQL에 자식 커서가 셋씩 붙는다기초PLSQL한빛유통PARSE-020본사 일 매출 화면이 어떤 날은 0.01초, 어떤 날은 0.3초 걸린다중급SELECT버거PARSE-021오후 2시만 넘으면 보류 판매 목록 조회가 Top SQL에 올라왔다가 다음 날 아침이면 사라진다기초PLSQL유통PARSE-022튜닝 담당이 재면 920블록인데 운영 화면은 한 번에 5,826블록을 읽는다중급SELECT한빛유통PARSE-023바인드 변수로 바꾼 고액 주문 집계에 자식 커서가 40개 넘게 붙는다중급SELECT한빛유통PARSE-024같은 SQL을 같은 순서로 스크립트에서 돌리면 4초, 프로시저로 돌리면 21초 걸린다실전PLSQL한빛유통PARSE-025분석용 사본을 읽는 본사 화면 넷 중 매장 화면만 날마다 다른 쪽이 느려진다실전SELECT버거PARSE-026리뷰 검수 화면이 하루에 서너 번, 한 번씩만 튄다중급SELECT이커머스PARSE-027바인드 변수로 바꾸면 피킹 때문에 위험하다며 날짜를 문자열로 이어 붙인다기초SELECT유통PARSE-028인프라팀의 세 가지 안: 「피킹을 끄고, 히스토그램을 지우고, 계획을 전부 잡아 두자」실전DDL한빛유통PARSE-029일별 판매 목록 SQL 하나에 자식 커서가 넷이고, 리포트 도구에서만 6,000블록을 읽는다실전SELECT유통PARSE-030포인트 적립 API는 INSERT 한 줄인데 이벤트 날 cursor mutex 대기가 쌓인다중급INSERT이커머스PARSE-031매장 관리 도구에서 하루 주문 목록을 열 때만 22,422블록을 읽는다중급SELECT버거PARSE-032한 달 치 주문상품 내려받기가 사무실 PC에서는 1분 12초, IDC 안 PC에서는 6초다기초SELECT버거PARSE-033엑셀 내려받기를 고친 다음 날부터 고객센터 주문 이력 화면이 굼뜨고 WAS 힙이 두 배가 됐다실전SELECT한빛유통PARSE-034DW로 넘기는 판매상품 파일 두 개, ARRAYSIZE를 올리자 한쪽만 논리 읽기가 줄었다기초SELECT유통PARSE-035상품 리뷰 탭을 누르면 0.6초, DB가 그 SQL에 쓴 시간은 0.01초다중급SELECT이커머스PARSE-036실사 보정 8,412줄을 반영하는 데 7.9초, 하드 파싱은 두 번뿐이다기초UPDATE유통PARSE-037코드 정리 배포 다음 날부터 고객센터 화면의 「취소 급증」 칸만 한 박자 늦게 뜬다중급PLSQL한빛유통PARSE-038모바일 「주문 내역」 한 화면에 DB 호출이 61번 찍힌다중급SELECT한빛유통PARSE-039정보계를 클라우드로 옮긴 뒤 월별 매장 주문 리포트 적재가 2초에서 53초가 됐다실전INSERT버거PARSE-040메인 화면의 「요즘 많이 본 상품」 칸 하나가 응답 시간의 절반을 차지한다기초SELECT이커머스PARSE-041batch_size를 500으로 넣었는데 보정 요청 12,000건 업로드가 여전히 10초 가까이 걸린다중급INSERT한빛유통PARSE-042본사 주문 조회는 한 쪽에 20건인데, 쪽을 넘길 때마다 2.7초가 걸리고 WAS가 GC로 멈칫한다중급SELECT버거PARSE-043협력사 납품 확인 7,102줄 반영을 addBatch로 묶었는데 13초가 그대로다중급PLSQL유통PARSE-044주문 등록 API를 클라우드로 옮긴 뒤 한 건에 90ms가 걸리고 타임세일마다 커넥션 풀이 바닥난다실전INSERT한빛유통PARSE-045공통 조회 엔진이 오전 DB CPU의 41%를 쓰는데, 엔진이 실행하는 조회는 모두 몇 블록짜리다실전PLSQL유통

OPT옵티마이저와 통계60

OPT-001배포도 없었는데 월요일 아침 등급별 매출 화면이 30초 걸린다기초PLSQL한빛유통OPT-002인덱스를 만들었는데 결제 대기 모니터가 여전히 FULL이다기초SELECT이커머스OPT-003취소 주문 정산 점검은 취소가 많은 고객일수록 느리다중급SELECT한빛유통OPT-004반기마다 흔들리는 핵심 화면, 힌트로 박을까 프로파일을 받을까실전SELECT한빛유통OPT-005매장 한 곳의 하루치 판매를 보는데 판매상품 테이블을 통째로 읽는다기초SELECT유통OPT-006주문 테이블을 고객 순서로 다시 실은 주말 뒤로 정산팀 월 주문 합계가 블록을 여든 배 넘게 읽는다중급PLSQL한빛유통OPT-007월 상품 실적 MERGE가 매달 1일에만 블록 18만 개를 읽는다중급MERGE유통OPT-008본부장이 매장 150곳을 고르면 같은 화면이 날마다 0.2초였다 3초였다 한다실전SELECT버거OPT-009지난주부터 월말 정산 점검 계획에 카티션 조인이 끼어 있다중급SELECT한빛유통OPT-010매일 10시 정각이면 주문 화면들이 3분 동안 버벅인다기초PLSQL이커머스OPT-011결제 독촉 대상이 80건으로 줄었는데 독촉 목록 SQL은 여전히 읽은 블록 수 1위다중급UPDATE한빛유통OPT-012ROLLBACK했다는 일 마감 배치의 숫자가 본사 대시보드에 그대로 떠 있다기초PLSQL버거OPT-013매달 1일 아침에만 월마감 등급별 매출 보고서가 느리다중급DDL한빛유통OPT-014칸 단위로만 통계를 모은 뒤 버거 데이 매출 비교가 주문을 통째로 읽는다실전PLSQL버거OPT-015체인 맨 앞에서 통계를 한 번에 다 모았는데 월요일 아침 두 곳이 무너졌다실전PLSQL한빛유통OPT-0165년 만에 통계를 다시 모으자는데 핵심 화면 여섯 개가 어떻게 바뀔지 모른다실전PLSQL유통OPT-017상담원이 주문 세 건을 골라 상세를 펼치면 주문 테이블 두 개를 통째로 읽는다기초SELECT한빛유통OPT-018야간 통계 잡은 석 달째 매일 성공인데 테이블 여섯 개의 통계가 3월에 멈춰 있다중급PLSQL유통OPT-019카디널리티 점검표가 날마다 서른 줄을 올리는데 고칠 만한 줄은 한두 개뿐이다중급SELECT버거OPT-020히스토그램 칸을 다섯 개로 줄인 뒤 2,000원 균일가와 12,000원 세트 분석만 느려졌다중급PLSQL유통OPT-021분기 누적 지역별 매출 화면이 읽는 블록이 1월 초 6천에서 3월 말 8만으로 늘었다기초SELECT한빛유통OPT-022분기 초마다 무너지는 실적 화면을 두고 세 사람이 서로 다른 통계 처방을 냈다실전PLSQL한빛유통OPT-023정산팀 카드 결제 대사 화면이 주문상세를 주문 수만큼 1,370번 찾아간다기초SELECT한빛유통OPT-024고칠 수 없는 본사 판매 분석 패키지, SQL 셋의 추정이 모두 실제와 다르다실전DDL유통OPT-025시간대 분석 화면 세 개 가운데 둘이 주문상품을 21만 번씩 찾아간다실전SELECT버거OPT-026상담 많은 고객 200명의 분기 주문 실적을 보는데 주문 인덱스를 통째로 읽는다기초SELECT한빛유통OPT-027시험 주문 한 건을 되살린 뒤 금액대별 등급 매출이 어느 구간이든 고객 테이블을 20만 번 읽는다중급SELECT한빛유통OPT-028전화번호 뒷자리로 최근 주문 20건을 찾는 상담 화면이 한 번에 7만 블록을 읽는다중급SELECT한빛유통OPT-029BI 도구를 바꾼 뒤로 월 상품 판매 리포트가 판매 2만 건마다 판매상품을 찾아간다중급SELECT유통OPT-030연말연시 일주일 매장별 주문 수만 주문 테이블을 통째로 읽는다중급SELECT버거OPT-031카카오 시범 광고로 들어온 주문 312건을 보는데 네이버 41만 건과 똑같이 블록 1만 9천 개를 읽는다기초SELECT한빛유통OPT-032VIP 취소 주문 상황판은 늘 비어 있는데 1분마다 4만 블록을 읽는다실전SELECT한빛유통OPT-033접속 풀을 화면과 같이 쓰게 한 뒤로 연간 주문 추출 SQL이 읽은 블록 수 1위에 올랐다기초SELECT한빛유통OPT-034인덱스를 더 잘 타게 하는 설정이 들어간 다음 날부터 월 상태별 매출 집계가 블록을 다섯 배 읽는다기초SELECT한빛유통OPT-035상담원 80명이 띄워 두는 취소 주문 모니터가 첫 화면마다 주문 테이블을 통째로 읽는다중급SELECT한빛유통OPT-036월 상품 판매 집계 배치 안에서만 같은 SELECT가 블록 17만 개를 읽는다중급PLSQL버거OPT-037본사 ERP의 월 판매 명세 추출은 SQL Developer에서는 0.3초인데 ERP에서는 1초가 걸린다중급SELECT유통OPT-038어드바이저 권고 프로파일을 받아들였는데 이튿날 밤 정산 대사가 다시 느리다기초PLSQL한빛유통OPT-039새 커버링 인덱스를 다른 화면은 다 쓰는데 월 영업 매장 수 위젯만 옛 계획 그대로다중급SELECT버거OPT-040시험 DB에서 빨랐던 계획을 프로파일로 옮겨 넣었는데 운영의 기간별 상품 매출은 그대로다중급PLSQL한빛유통OPT-0412012년에 넣은 옵티마이저 설정 세 줄을 기본값으로 되돌리자는데 무엇이 바뀔지 아무도 모른다실전DDL유통OPT-042힌트 대장 정리 배포를 앞둔 리허설에서 세 SQL 가운데 하나만 느려졌다실전SELECT한빛유통OPT-043점주 앱 세 화면에 같은 힌트를 넣었는데 하나만 빨라졌고 하나는 상품에 따라 몇 초씩 걸린다실전SELECT버거OPT-044라이선스 점검으로 설정 하나를 바꾼 다음 날 고객 주문 내역 API만 다섯 배 느려졌다기초SELECT이커머스OPT-045옵티마이저 설정을 기본값으로 되돌린 뒤 소스가 없는 점포 판매 조회 화면만 첫 줄이 늦게 뜬다중급PLSQL유통OPT-046인덱스 정리를 시작한 날 오후, 계획을 고정해 두었던 매장 일 판매 화면이 판매 테이블을 통째로 읽는다중급DDL유통OPT-047화요일부터 읽은 블록 수 1위로 올라온 주문 요약 조회, 계획이 바뀌었으니 고정하자고 한다기초SELECT한빛유통OPT-048지난달 월마감 때보다 네 배 느려진 판매 대사 배치, 지난달 계획을 찾을 데가 없다기초PLSQL유통OPT-049EXPLAIN PLAN에는 NL 조인인데 실행 통계에는 주문상품을 통째로 읽은 흔적이 있다기초SELECT버거OPT-050인덱스를 만들고 진화 작업까지 돌렸는데 진화할 계획이 하나도 없다고 나온다기초PLSQL이커머스OPT-051통계를 매일 모으기 시작한 다음 날부터 지역 주간 주문 화면이 블록을 일흔 배 넘게 읽는다중급PLSQL한빛유통OPT-052계획 변경 감시 메일은 날마다 스무 건씩 오는데 정작 느려진 점장 화면은 목록에 없었다중급SELECT유통OPT-053한정 메뉴 매장별 판매 보고서는 두 번째로 열면 빠른데 아침 첫 조회만 다섯 배 넘게 느리다중급SELECT버거OPT-054계획 해시가 그대로라 계획 문제는 아니라던 고객 최근 주문 조회가 실행마다 예순 배 넘게 읽는다중급SELECT한빛유통OPT-055지운 자리를 돌려받으려고 주문상품 테이블을 재구성한 다음 날 아침, 주문 상세 화면이 한 번에 0.5초씩 걸린다중급DDL버거OPT-056적응형 기능을 다 켜야 추정이 맞는다며 설정 한 줄을 넣은 뒤로 처음 보는 문장이 실행 횟수 1위에 올랐다중급DDL한빛유통OPT-057반기 점검에서 진화 리포트 세 장을 받았는데 오과장은 통과한 것을 다 받아들이고 인덱스 정리도 대장대로 하자고 한다실전PLSQL한빛유통OPT-058튜닝 팩을 들여온 다음 주부터 MD의 상품별 매장 판매 화면이 이틀에 하루꼴로 하루 종일 느리다실전PLSQL유통OPT-059SYSAUX 공간 경고를 따라가 보니 베이스라인이 3,400개 넘게 쌓여 있고 핵심 화면 하나는 베이스라인이 꺼져 있다실전PLSQL유통OPT-060야간 클레임 정산 INSERT에 지난주 베이스라인을 올렸는데 한 번도 쓰이지 않고 밤마다 계획이 오락가락한다실전INSERT한빛유통

PLSQLPL/SQL과 사용자 정의 함수50

PLSQL-001계획은 51블록인데 월말 포인트 명세는 9초가 걸린다기초PLSQL이커머스PLSQL-002월요일 아침에 등록한 정산이 전부 지난 금요일 날짜다중급PLSQL한빛유통PLSQL-003같은 집계에 FULL 힌트를 주자 다른 숫자가 나왔다중급DDL유통PLSQL-004고객센터 고객 목록이 페이지를 넘길 때마다 반 박자씩 늦다기초DDL한빛유통PLSQL-005매장은 다섯 곳뿐인데 월간 판매 내려받기 한 번에 SQL이 2만 번 실행된다기초SELECT유통PLSQL-006이관 리허설에서 주문상세 단가 채우기만 3초, 다른 여섯 단계는 1초 안쪽이다기초UPDATE한빛유통PLSQL-007월 마감의 매장별 주문 집계만 다른 집계보다 열 배 오래 걸린다기초INSERT버거PLSQL-008DETERMINISTIC을 붙였더니 개발자 시험은 빨라졌는데 관리자 화면 내려받기는 그대로다중급SELECT이커머스PLSQL-009영수증 목록은 4,176줄인데 합계 함수는 12,528번 돌았다중급SELECT유통PLSQL-010요일별 시간대 주문 리포트가 같은 22,422블록을 읽는 일자별 리포트보다 세 배 느리다중급SELECT버거PLSQL-011결과 캐시를 붙인 결제 대기 배지가 시험 DB에서는 0블록이었는데 운영에서는 그대로다중급PLSQL한빛유통PLSQL-012야간 주문 파일 배치에 DETERMINISTIC을 붙였지만 함수 호출은 10만 번 그대로다중급PLSQL한빛유통PLSQL-013AWR 실행 횟수 1위가 소스 어디에도 없는 상품명 조회다실전PLSQL버거PLSQL-014정산 등록 화면의 예상 보정액 한 줄이 0.4초, 결과 캐시를 붙이자는 안이 올라왔다실전SELECT한빛유통PLSQL-015판매가 점검 리포트만 6초, 같은 가격 함수를 쓰는 다른 두 화면은 멀쩡하다실전SELECT유통PLSQL-0165,826블록짜리 테이블을 파일로 내리는데 논리 읽기가 100만이 넘는다기초PLSQL한빛유통PLSQL-017연간 재료 소요 분석에서 92행짜리 상품 테이블 조회가 123만 번 실행된다기초PLSQL버거PLSQL-018BULK COLLECT와 FORALL을 다 썼는데 recursive calls가 30만 번이다기초PLSQL이커머스PLSQL-019디버깅을 마친 다음 날부터 판매 전표 검증이 두 배 넘게 걸린다기초DDL유통PLSQL-020작년까지 돌던 매장 수수료 재계산이 어젯밤 ORA-04036으로 죽었다중급PLSQL버거PLSQL-021recursive calls는 4,162에서 19가 됐는데 정산 수수료 반영은 여전히 1.4초다중급PLSQL한빛유통PLSQL-022POS 업체가 12월분을 통째로 다시 보내자 적재에 7초가 걸리고 redo가 91MB 쌓였다실전PLSQL버거PLSQL-023반송함에 적힌 주문을 찾아가 보면 멀쩡히 정산돼 있다중급PLSQL한빛유통PLSQL-024협력사 포털의 상품별 판매 조회가 상품을 하나 더 고를 때마다 0.11초씩 느려진다중급PLSQL유통PLSQL-025주문 10만 건을 다시 대사하는 데 recursive calls가 40만 번이다실전PLSQL한빛유통PLSQL-02610분마다 도는 택배 상태 반영이 AWR의 실행 횟수 1위와 2위를 차지한다중급PLSQL한빛유통PLSQL-027연간 상품별 판매 맨 아래에 상품명도 분류도 빈 네 줄이 있는데, 리포트는 에러 없이 끝났다실전SELECT유통PLSQL-028판매일 인덱스가 있는데 기간별 판매 전표 조회가 FULL로 돌고 1초 가까이 걸린다기초SELECT유통PLSQL-029보안 점검에서 주문 상태 변경 API로 주문 금액까지 0원으로 바꿀 수 있었다기초PLSQL한빛유통PLSQL-030정산 명세 파일 내려받기가 첫 줄을 받기까지 2초를 기다리고, 세션마다 PGA가 60MB를 넘는다기초PLSQL한빛유통PLSQL-031보안 점검에서 주문 목록 API의 정렬 칸으로 다른 매장의 주문 수를 알아낼 수 있었다기초PLSQL버거PLSQL-032결제 대기 화면에 맞춰 인덱스를 만들었는데 FULL로 돌고, 한 번 열 때마다 recursive calls가 8만 번 찍힌다중급SELECT한빛유통PLSQL-033멤버십 카드 번호로 주문을 찾는 데 한 번에 1.4초, 카드 번호 칸에는 인덱스가 있다중급DDL버거PLSQL-034의심 주문 열두 건의 상품을 보여 주는 점검 화면이 주문상품 5만 블록을 통째로 읽는다중급SELECT버거PLSQL-035조건 네 칸짜리 주문 검색 하나가 공유 풀에 하루 2만 개 넘는 문장을 남긴다중급PLSQL한빛유통PLSQL-036판매 전표 조회 화면에서 1년을 고르면 첫 페이지 50건이 뜨기까지 8초가 걸린다중급PLSQL유통PLSQL-037정산 분개 생성이 11초인데, 분개 규칙은 낮의 정산 등록과 같은 패키지라 SQL로 옮기기 어렵다실전PLSQL한빛유통PLSQL-038명동점 관리자의 자기 매장 판매 목록이 본사 직원의 다섯 매장 전체 목록만큼 느리다실전SELECT유통PLSQL-039매장 앱의 「이번 달 우리 매장」이 생긴 뒤로 매출 공통 함수 안의 SQL이 AWR 논리 읽기 1위에 올랐다실전PLSQL버거PLSQL-040「최종 갱신 시각」 표시를 넣은 뒤로 정산 적재가 0.4초에서 3.2초가 됐다기초DDL한빛유통PLSQL-041DW 전송 표시 한 칸을 고쳤을 뿐인데 판매상품 정정 이력이 110만 행 늘었다기초DDL유통PLSQL-042주간 정산 보정이 0.3초에서 9초가 됐고, 실패한 날 다시 돌린 보정은 6만 건이 모자랐다중급PLSQL한빛유통PLSQL-043상품 20종 제한 트리거가 있는데 37종짜리 주문이 들어와 있다중급DDL버거PLSQL-044월초 주문 스냅샷 10만 건이 같은 10만 건을 넣는 정산 적재보다 아홉 배 느리다중급DDL한빛유통PLSQL-045확정된 발주인데 입고 예정이 없어서 물류센터가 협력사 물건을 돌려보냈다중급PLSQL유통PLSQL-046ORA-04068 대책을 넣은 뒤로 포인트 적립 API가 네 배 느려지고 야간 대사가 멈췄다중급PLSQL이커머스PLSQL-047「등록 완료」가 떴는데 정산 목록에 그 정산이 없다기초PLSQL한빛유통PLSQL-048인수한 매장 12곳의 주문을 옮기는 데 5.7초, 올해 세 번 더 해야 하는데 안이 네 개 올라왔다실전PLSQL버거PLSQL-049롤백된 정산 정정 10만 건이 감사 기록에는 바뀐 것으로 남았다실전DDL한빛유통PLSQL-050할인 규칙 한 줄을 배포했을 뿐인데 매장 POS 가격 조회가 4분 동안 멈췄다실전DDL유통