<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://dbstudy.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=Lob_chunk_size_%EC%B5%9C%EC%A0%81%ED%99%94_%ED%85%8C%EC%8A%A4%ED%8A%B8</id>
	<title>Lob chunk size 최적화 테스트 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://dbstudy.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=Lob_chunk_size_%EC%B5%9C%EC%A0%81%ED%99%94_%ED%85%8C%EC%8A%A4%ED%8A%B8"/>
	<link rel="alternate" type="text/html" href="https://dbstudy.co.kr/w/index.php?title=Lob_chunk_size_%EC%B5%9C%EC%A0%81%ED%99%94_%ED%85%8C%EC%8A%A4%ED%8A%B8&amp;action=history"/>
	<updated>2026-09-15T10:39:31Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://dbstudy.co.kr/w/index.php?title=Lob_chunk_size_%EC%B5%9C%EC%A0%81%ED%99%94_%ED%85%8C%EC%8A%A4%ED%8A%B8&amp;diff=1830&amp;oldid=prev</id>
		<title>2026년 9월 15일 (화) 03:47에 Oracle님의 편집</title>
		<link rel="alternate" type="text/html" href="https://dbstudy.co.kr/w/index.php?title=Lob_chunk_size_%EC%B5%9C%EC%A0%81%ED%99%94_%ED%85%8C%EC%8A%A4%ED%8A%B8&amp;diff=1830&amp;oldid=prev"/>
		<updated>2026-09-15T03:47:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026년 9월 15일 (화) 12:47 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;1번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;source lang=sql&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;SELECT&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;SELECT&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     MIN(DBMS_LOB.GETLENGTH(doc))    AS min_len,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     MIN(DBMS_LOB.GETLENGTH(doc))    AS min_len,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;7번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;8번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FROM 실제테이블 SAMPLE(5)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FROM 실제테이블 SAMPLE(5)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;WHERE doc IS NOT NULL;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;WHERE doc IS NOT NULL;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/source&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=sql&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=sql&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Oracle</name></author>
	</entry>
	<entry>
		<id>https://dbstudy.co.kr/w/index.php?title=Lob_chunk_size_%EC%B5%9C%EC%A0%81%ED%99%94_%ED%85%8C%EC%8A%A4%ED%8A%B8&amp;diff=1829&amp;oldid=prev</id>
		<title>Oracle: 새 문서: SELECT     MIN(DBMS_LOB.GETLENGTH(doc))    AS min_len,     ROUND(AVG(DBMS_LOB.GETLENGTH(doc))) AS avg_len,     PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY DBMS_LOB.GETLENGTH(doc)) AS median_len,     PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY DBMS_LOB.GETLENGTH(doc)) AS p90_len,     MAX(DBMS_LOB.GETLENGTH(doc))    AS max_len FROM 실제테이블 SAMPLE(5) WHERE doc IS NOT NULL;  &lt;source lang=sql&gt; -- ============================================================ -- LOB CHUNK 크기...</title>
		<link rel="alternate" type="text/html" href="https://dbstudy.co.kr/w/index.php?title=Lob_chunk_size_%EC%B5%9C%EC%A0%81%ED%99%94_%ED%85%8C%EC%8A%A4%ED%8A%B8&amp;diff=1829&amp;oldid=prev"/>
		<updated>2026-09-15T03:22:42Z</updated>

		<summary type="html">&lt;p&gt;새 문서: SELECT     MIN(DBMS_LOB.GETLENGTH(doc))    AS min_len,     ROUND(AVG(DBMS_LOB.GETLENGTH(doc))) AS avg_len,     PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY DBMS_LOB.GETLENGTH(doc)) AS median_len,     PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY DBMS_LOB.GETLENGTH(doc)) AS p90_len,     MAX(DBMS_LOB.GETLENGTH(doc))    AS max_len FROM 실제테이블 SAMPLE(5) WHERE doc IS NOT NULL;  &amp;lt;source lang=sql&amp;gt; -- ============================================================ -- LOB CHUNK 크기...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;SELECT&lt;br /&gt;
    MIN(DBMS_LOB.GETLENGTH(doc))    AS min_len,&lt;br /&gt;
    ROUND(AVG(DBMS_LOB.GETLENGTH(doc))) AS avg_len,&lt;br /&gt;
    PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY DBMS_LOB.GETLENGTH(doc)) AS median_len,&lt;br /&gt;
    PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY DBMS_LOB.GETLENGTH(doc)) AS p90_len,&lt;br /&gt;
    MAX(DBMS_LOB.GETLENGTH(doc))    AS max_len&lt;br /&gt;
FROM 실제테이블 SAMPLE(5)&lt;br /&gt;
WHERE doc IS NOT NULL;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
-- ============================================================&lt;br /&gt;
-- LOB CHUNK 크기 최적화 - 후보 값 실측 비교 스크립트&lt;br /&gt;
-- 목적: 여러 CHUNK 후보값에 대해 INSERT/SELECT 성능과&lt;br /&gt;
--       공간 효율(fragmentation)을 동일 조건에서 비교 측정&lt;br /&gt;
-- 방법: 테이블 1개를 두고 후보 CHUNK 값마다&lt;br /&gt;
--       TRUNCATE -&amp;gt; MOVE LOB(CHUNK 변경) -&amp;gt; 동일 데이터 INSERT&lt;br /&gt;
--       -&amp;gt; INSERT/SELECT 시간, 공간 사용량 측정을 반복&lt;br /&gt;
-- 실행 전: 4번 TEST_LOB_SIZE 값을 실제 워크로드의 대표 크기&lt;br /&gt;
--          (1번 분포조사에서 나온 median/avg 값)로 맞춰서 실행&lt;br /&gt;
-- ============================================================&lt;br /&gt;
&lt;br /&gt;
SET SERVEROUTPUT ON SIZE UNLIMITED&lt;br /&gt;
SET TIMING OFF&lt;br /&gt;
SET LINESIZE 200&lt;br /&gt;
&lt;br /&gt;
-- ------------------------------------------------------------&lt;br /&gt;
-- 0. 정리 및 테이블 생성&lt;br /&gt;
-- ------------------------------------------------------------&lt;br /&gt;
BEGIN&lt;br /&gt;
    EXECUTE IMMEDIATE &amp;#039;DROP TABLE CHUNK_TEST_TBL PURGE&amp;#039;;&lt;br /&gt;
EXCEPTION&lt;br /&gt;
    WHEN OTHERS THEN&lt;br /&gt;
        IF SQLCODE != -942 THEN RAISE; END IF;&lt;br /&gt;
END;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE CHUNK_TEST_TBL (&lt;br /&gt;
    id  NUMBER NOT NULL,&lt;br /&gt;
    doc CLOB,&lt;br /&gt;
    CONSTRAINT pk_chunk_test PRIMARY KEY (id)&lt;br /&gt;
)&lt;br /&gt;
LOB (doc) STORE AS SECUREFILE chunk_test_lseg (&lt;br /&gt;
    TABLESPACE users&lt;br /&gt;
    ENABLE STORAGE IN ROW&lt;br /&gt;
    CHUNK 8192&lt;br /&gt;
    NOCACHE&lt;br /&gt;
    NOLOGGING&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
CREATE OR REPLACE FUNCTION GET_SESS_PIO RETURN NUMBER IS&lt;br /&gt;
    v NUMBER;&lt;br /&gt;
BEGIN&lt;br /&gt;
    SELECT ss.value INTO v FROM v$sesstat ss, v$statname sn&lt;br /&gt;
    WHERE ss.sid = SYS_CONTEXT(&amp;#039;USERENV&amp;#039;,&amp;#039;SID&amp;#039;)&lt;br /&gt;
      AND ss.statistic# = sn.statistic#&lt;br /&gt;
      AND sn.name = &amp;#039;physical reads&amp;#039;;&lt;br /&gt;
    RETURN v;&lt;br /&gt;
END;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
-- ------------------------------------------------------------&lt;br /&gt;
-- 1. 테스트 실행 (후보 CHUNK 값마다 반복)&lt;br /&gt;
--    TEST_LOB_SIZE : 실제 워크로드 대표 크기(byte)로 조정할 것&lt;br /&gt;
--    ROW_COUNT     : 반복 횟수(너무 크면 시간이 오래 걸림, 1000~5000 권장)&lt;br /&gt;
-- ------------------------------------------------------------&lt;br /&gt;
DECLARE&lt;br /&gt;
    TYPE t_chunk_list IS TABLE OF NUMBER;&lt;br /&gt;
    v_chunks       t_chunk_list := t_chunk_list(8192, 32768, 131072, 1048576);&lt;br /&gt;
                                -- 8K,      32K,       128K,     1M   -- 필요시 후보 추가/조정&lt;br /&gt;
&lt;br /&gt;
    c_test_lob_size CONSTANT PLS_INTEGER := 50000;  -- &amp;lt;&amp;lt;&amp;lt; 실제 대표 크기로 조정&lt;br /&gt;
    c_row_count     CONSTANT PLS_INTEGER := 2000;&lt;br /&gt;
&lt;br /&gt;
    v_start_time  NUMBER;&lt;br /&gt;
    v_ins_sec     NUMBER;&lt;br /&gt;
    v_sel_sec     NUMBER;&lt;br /&gt;
    v_start_pio   NUMBER;&lt;br /&gt;
    v_pio_ins     NUMBER;&lt;br /&gt;
    v_pio_sel     NUMBER;&lt;br /&gt;
    v_seg_bytes   NUMBER;&lt;br /&gt;
    v_actual_bytes NUMBER;&lt;br /&gt;
    v_frag_pct    NUMBER;&lt;br /&gt;
    v_sum_len     NUMBER;&lt;br /&gt;
    v_doc         CLOB;&lt;br /&gt;
BEGIN&lt;br /&gt;
    v_doc := RPAD(&amp;#039;X&amp;#039;, c_test_lob_size, &amp;#039;X&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
    DBMS_OUTPUT.PUT_LINE(RPAD(&amp;#039;CHUNK(byte)&amp;#039;,12) || RPAD(&amp;#039;INSERT(초)&amp;#039;,12) ||&lt;br /&gt;
                          RPAD(&amp;#039;SELECT(초)&amp;#039;,12) || RPAD(&amp;#039;물리IO(SEL)&amp;#039;,12) ||&lt;br /&gt;
                          RPAD(&amp;#039;세그먼트(MB)&amp;#039;,14) || &amp;#039;데이터대비 오버헤드(%)&amp;#039;);&lt;br /&gt;
    DBMS_OUTPUT.PUT_LINE(RPAD(&amp;#039;-&amp;#039;,90,&amp;#039;-&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
    FOR i IN 1 .. v_chunks.COUNT LOOP&lt;br /&gt;
        -- (1) 초기화 + CHUNK 변경&lt;br /&gt;
        EXECUTE IMMEDIATE &amp;#039;TRUNCATE TABLE CHUNK_TEST_TBL&amp;#039;;&lt;br /&gt;
        EXECUTE IMMEDIATE&lt;br /&gt;
            &amp;#039;ALTER TABLE CHUNK_TEST_TBL MOVE LOB (doc) STORE AS (CHUNK &amp;#039; || v_chunks(i) || &amp;#039;)&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        -- (2) INSERT 성능 측정&lt;br /&gt;
        v_start_time := DBMS_UTILITY.GET_TIME;&lt;br /&gt;
        FOR r IN 1 .. c_row_count LOOP&lt;br /&gt;
            INSERT INTO CHUNK_TEST_TBL (id, doc) VALUES (r, v_doc);&lt;br /&gt;
        END LOOP;&lt;br /&gt;
        COMMIT;&lt;br /&gt;
        v_ins_sec := (DBMS_UTILITY.GET_TIME - v_start_time) / 100;&lt;br /&gt;
&lt;br /&gt;
        EXECUTE IMMEDIATE&lt;br /&gt;
            &amp;#039;BEGIN DBMS_STATS.GATHER_TABLE_STATS(:o, :t, CASCADE =&amp;gt; TRUE); END;&amp;#039;&lt;br /&gt;
            USING USER, &amp;#039;CHUNK_TEST_TBL&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        -- (3) SELECT(전체 읽기) 성능 측정&lt;br /&gt;
        v_start_time := DBMS_UTILITY.GET_TIME;&lt;br /&gt;
        v_start_pio  := GET_SESS_PIO;&lt;br /&gt;
        SELECT SUM(DBMS_LOB.GETLENGTH(doc)) INTO v_sum_len FROM CHUNK_TEST_TBL;&lt;br /&gt;
        v_sel_sec := (DBMS_UTILITY.GET_TIME - v_start_time) / 100;&lt;br /&gt;
        v_pio_sel := GET_SESS_PIO - v_start_pio;&lt;br /&gt;
&lt;br /&gt;
        -- (4) 공간 사용량(세그먼트 크기) 및 오버헤드 비율&lt;br /&gt;
        SELECT bytes INTO v_seg_bytes&lt;br /&gt;
        FROM dba_segments&lt;br /&gt;
        WHERE owner = USER AND segment_name = &amp;#039;CHUNK_TEST_LSEG&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        v_actual_bytes := c_test_lob_size * c_row_count;&lt;br /&gt;
        v_frag_pct := ROUND((v_seg_bytes - v_actual_bytes) / v_actual_bytes * 100, 1);&lt;br /&gt;
&lt;br /&gt;
        DBMS_OUTPUT.PUT_LINE(&lt;br /&gt;
            RPAD(v_chunks(i), 12) ||&lt;br /&gt;
            RPAD(TO_CHAR(v_ins_sec, &amp;#039;999.99&amp;#039;), 12) ||&lt;br /&gt;
            RPAD(TO_CHAR(v_sel_sec, &amp;#039;999.99&amp;#039;), 12) ||&lt;br /&gt;
            RPAD(v_pio_sel, 12) ||&lt;br /&gt;
            RPAD(TO_CHAR(ROUND(v_seg_bytes/1024/1024, 2), &amp;#039;99999.99&amp;#039;), 14) ||&lt;br /&gt;
            TO_CHAR(v_frag_pct)&lt;br /&gt;
        );&lt;br /&gt;
    END LOOP;&lt;br /&gt;
END;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
-- ------------------------------------------------------------&lt;br /&gt;
-- 2. 결과 해석 가이드&lt;br /&gt;
-- ------------------------------------------------------------&lt;br /&gt;
-- - INSERT(초)      : CHUNK가 너무 작으면 청크 개수가 늘어 관리 오버헤드 증가,&lt;br /&gt;
--                      너무 크면 큰 단위 할당 비용으로 오히려 느려질 수 있음&lt;br /&gt;
-- - SELECT(초)/물리IO: CHUNK가 데이터 크기에 비해 작을수록 여러 청크를&lt;br /&gt;
--                      나눠 읽어 물리IO 횟수가 늘어나는 경향&lt;br /&gt;
-- - 오버헤드(%)      : (세그먼트 실제 크기 - 순수 데이터 크기) / 데이터 크기&lt;br /&gt;
--                      CHUNK가 데이터보다 훨씬 크면 이 값이 커짐(공간 낭비)&lt;br /&gt;
--                      예: 데이터 50KB인데 CHUNK 1MB면 매 LOB이 1MB를 점유&lt;br /&gt;
--&lt;br /&gt;
-- 최적점은 보통 &amp;quot;오버헤드(%)가 과도하게 커지기 직전이면서&lt;br /&gt;
-- SELECT 물리IO가 충분히 낮아지는 지점&amp;quot;입니다.&lt;br /&gt;
-- 아래처럼 여러 대표 크기(작음/중간/큼)로 각각 돌려서&lt;br /&gt;
-- 실제 운영 중 크기 분포에 맞는 값을 찾는 것을 권장합니다.&lt;br /&gt;
--   c_test_lob_size를 3번 조정해서(예: 2000, 50000, 500000) 재실행&lt;br /&gt;
&lt;br /&gt;
-- ------------------------------------------------------------&lt;br /&gt;
-- 3. 정리&lt;br /&gt;
-- ------------------------------------------------------------&lt;br /&gt;
-- DROP TABLE CHUNK_TEST_TBL PURGE;&lt;br /&gt;
-- DROP FUNCTION GET_SESS_PIO;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Oracle</name></author>
	</entry>
</feed>