본문 바로가기
728x90
반응형

oracle11

[DB/Oracle] Oracle Index 1) 인덱스란 무엇인가?정의인덱스(Index)는 테이블의 특정 컬럼 값을 정렬·구조화해 포인터로 해당 Row의 물리적 위치(ROWID)로 빠르게 점프하게 돕는 스키마 객체입니다.특징 요약검색 성능 향상: Full Table Scan 대신 인덱스 경로로 I/O를 크게 줄임.테이블과 독립적: 생성/삭제가 테이블 데이터에 직접 영향은 없음. (단, 테이블을 삭제하면 해당 테이블의 인덱스는 함께 삭제)자동 사용/유지: 옵티마이저가 자동 선택, DML 시 인덱스도 자동 갱신.생성 방식:명시적: CREATE INDEX …자동: PK/UNIQUE 제약 생성 시 자동 인덱스 생성예제-- 명시적 생성CREATE INDEX idx_emp_ename ON scott.emp(ename);-- PK 제약 → 인덱스 자동 생성A.. 2025. 9. 23.
[DB/Oracle] Oracle Data Block이란? 📌 Oracle Data Block이란?1. Oracle Data Block의 정의오라클 데이터베이스에서 데이터 블록(Data Block)은 데이터 저장과 입출력의 최소 단위입니다.테이블의 행(Row), 인덱스 정보 등 모든 데이터는 결국 블록 단위로 디스크에 저장되고, 캐시에서 읽혀집니다.데이터베이스 계층 구조를 간단히 정리하면 다음과 같습니다.Tablespace → Segment(테이블/인덱스 등) → Extent → Data Block → Row2. Oracle Data Block의 내부 구조데이터 블록은 단순히 데이터를 담는 그릇이 아니라, 캐시 관리 / 트랜잭션 동시성 제어 / 데이터 저장을 모두 담당하는 구조를 가지고 있습니다.(1) Cache Layer블록이 SGA의 Buffer Cache.. 2025. 9. 18.
[DB/Oracle] 계층형 쿼리로 Q&A 게시판 구현하기 게시판을 만들다 보면 질문(Question)과 답변(Answer) 구조를 처리해야 하는 경우가 많다.특히 Q&A 게시판은 단일 테이블(TB_POST)에 질문과 답변을 함께 저장하면서, 부모-자식 관계를 이용해 계층 구조로 표현한다. 오늘은 CONNECT BY 를 활용해 이를 구현하는 방법을 정리해보자. ❓ Q1. Q&A 게시판에서 질문과 답변을 어떻게 구분하는가?Q&A 구조에서는 보통 다음과 같이 데이터를 관리한다.질문글 → PARENT_POST_ID 가 NULL답변글 → PARENT_POST_ID 에 질문글의 POST_ID 값 저장즉, 부모가 없으면 질문, 부모가 있으면 답변으로 구분할 수 있다.아래 쿼리에서는 CASE WHEN 문으로 질문/답변 구분 컬럼(GUBUN)을 만들어준다.CASE WHEN P.. 2025. 9. 17.
[DB/Oracle] 무작위 20자리 문자열 키값 만들기 (년월일시분초 + 랜덤 6자리) 업무에서 테이블의 키값으로 자주 쓰는 컬럼을 만들때, yyyyMMddHH24MISS + 랜덤 6자리 로 20 짜리 키값을 만든다. 다음은 오라클 쿼리이다.SELECT TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') || ( SELECT LISTAGG( CHR( CASE WHEN rn BETWEEN 1 AND 26 THEN 65 + rn - 1 -- 'A'~'Z' ELSE 48 + (rn - 27) -- '0'~'9' .. 2025. 9. 16.
[Trouble Shooting/업무] jdk 오라클버전에 따른 ojdbc 버전의 중요성 - Protocol violation 얼마 전, 내가 관리하는 서버에서 Caused by: java.sql.SQLException: Protocol violation: [ 0, ] at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:669) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:566) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:215) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPrepar.. 2025. 6. 5.
[프로그래머스/ORACLE] 카테고리 별 상품 개수 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/131529 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 정보를 담은 PRODUCT 테이블입니다. PRODUCT 테이블은 아래와 같은 구조로 되어있으며, PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다. PRODUCT Column name Type Nullable PRODUCT_ID INTEGER FALSE PRODUCT_CODE VAR.. 2024. 1. 11.
728x90
반응형