본문 바로가기

Oracle4

oracle b+tree 설명 oracle b+tree 설명 Oracle 의 인덱스 구조에서 b+tree 알고리즘을 사용. 이진 트리 알고리즘과 비슷하고. 검색에 특화. 이진트리는 logn 에 검색이 가능. 단점은 데이터를 넣거나 업데이트 할 때, 시간이 오래 걸릴 수 있다는 거지. (이진 트리의 단점) 분포도가 낮으면 b+tree 는 안좋음. 여기서 말하는 분포도라는 것은 고유 값 (구별할 수 있는 값) 이 얼마나 많은지에 대해서 설명 분포도 분포도는 데이터의 고유 값의 범위를 나타내는 것이고. 분포도가 높을 수록 고유 값이 다양하다는 것이다. 이런 것들은 인덱스를 만들었을 때 효율이 좋은 것이고. 왜냐면 인덱스에서 키로 데이터를 나누어서 저장하기에 고유 데이터가 많을수록 좋은 것이지. 만약 고유키가 대부분 비슷하다고 가정을 해보자.. 2020. 11. 10.
Oracle 더미(dummy) 데이터 생성 Oracle 더미(dummy) 데이터 생성 CREATE TABLE TEST ( COLUMN1 VARCHAR2(100), COLUMN2 VARCHAR2(100) ) -- 아래 소스 설명하면, DBMS_RANDOM 을 통해 난수 발생시키고(1~100000), 난수 값을 round (반올림) 한 것을 TEST 에 INSERT 한다. 위 행위를 2000번 반복한다. INSERT INTO TEST SELECT ROUND(DBMS_RANDOM.vALUE(1, 100000), 0) ,ROUND(DBMS_RANDOM.vALUE(1, 100000), 0) FROM dual CONNECT BY LEVEL 2020. 7. 10.
Oracle Session 확인 및 Kill session 확인 1 SELECT a.sid, -- SID a.serial#, -- 시리얼번호 a.status, -- 상태정보 a.process, -- 프로세스정보 a.username, -- 유저 a.osuser, -- 접속자의 OS 사용자 정보 b.sql_text, -- sql c.program -- 접속 프로그램 FROM v$session a, v$sqlarea b, v$process c WHERE a.sql_hash_value=b.hash_value AND a.sql_address=b.address AND a.paddr=c.addr AND a.status='ACTIVE'; session 확인 2 SELECT a.session_id AS SESSION_ID, b.serial# AS SERIAL_NO.. 2018. 5. 21.
[Oracle PLSQL] for loop 이용해 화면에 반복 출력 1. 소개 oracle 기준 for loop 를 이용해 화면에 Hello World 여러 번 출력하는 것 2. query SET SERVEROUTPUT ON declare type arr is varray(5) of varchar2(10); array arr := arr('01', '02', '03', '04', '05'); begin for i in 1..array.count loop dbms_output.put_line('Hello World - ' || array(i) ); end loop; end; 2018. 3. 9.