목록전체 글 (901)
정미나닷컴
무기 감옥에서 살아나올 때 이번 생에는 아이를 낳지 않겠다고 결심했다 내가 혁명가로서 철저하고 강해서가 아니라 한 인간으로서 허약하고 결함이 많아서이다 하지만 기나긴 감옥 독방에서 나는 너무 아이를 갖고 싶어서 수많은 상상과 계획을 세우곤 했다 나는 내 아이에게 일체의 요구와 그 어떤 교육도 하지 않기로 했다 미래에서 온 내 아이 안에는 이미 그 모든 씨앗들이 심겨져 있을 것이기에 내가 부모로서 해줄 것은 단 세가지였다 첫째는 내 아이가 자연의 대지를 딛고 동무들과 마음껏 뛰놀고 맘껏 잠자고 맘껏 해보며 그 속에서 고유한 자기 개성을 찾아갈 수 있도록 자유로운 공기 속에 놓아두는 일이다 둘째는 '안되는 건 안된다'를 새겨주는 일이다 살생을 해서는 안되고 약자를 괴롭혀서는 안되고 물자를 낭비해서는 안되고 ..
회사 사무실 근처 태국 음식점 녹마이- 맨날 눈팅만 하다 오늘 처음으로 방문해 봄! 메뉴, 대충 1인에 만원 안팎 내부 전경 발음하기도 어려운 뿌팟퐁커리, 넘나 맛있다며 아해들이 공기밥까지 추가로 시켜 야무지게 비벼 먹음 카오팟 느아 뿌 - 2인분, 게살볶음밥이랑 비슷- 그나마 익숙한 팟타이, 살짝 매콤하면서 고소한 맛 태국 음식이래서 약간의 불안감과 도전 정신을 가지고 갔는데 완전 기우였음 녹마이, 이따금씩 맛있는거 먹고 싶은 날 오면 좋을 듯~ 이렇게 월요병 사요나라.
조건절 이행- 『(A = B) 이고 (B = C) 이면 (A = C) 이다』는 추론을 통해 새로운 조건절을 내부적으로 생성해 주는 쿼리변환- 『(A > B) 이고 (B > C) 이면 (A > C) 이다』와 같은 추론도 가능- A 테이블에 사용된 필터 조건이 JOIN 조건절을 타고 반대편 B 테이블에 대한 필터 조건으로 이행- 한 테이블 내에서도 두 컬럼간 관계정보를 이용해 조건절 이행SELECT * FROM MINA.DEPT D, MINA.EMP E WHERE E.JOB = 'MANAGER' AND E.DEPT_NO = '10' AND D.DEPT_NO = E.DEPT_NO;-------------------------------------------------------------------------..
아주 어릴 때부터 날 묘하게 기분 좋게 만들어주던 것들이 있다.이를테면 누군가를 향해 속삭이고 있는 여자의 목소리라든가누군가가 내 머리를 빗겨줄 때의 감촉이라든가(이상하게 내가 빗을 때는 느낄 수가 없다.)어떤 사람이 무언가를 만드는 모습같은 것들..(한창 팔찌 만들기에 빠졌을 때 만드는 법을 배우기 위해 영상을 많이 봤는데 나도 모르게 기분이 이상해졌..;;) 이런 것들은 나에게 말로 표현할 수 없는 자극을 불러일으키는데뇌에 아주 미세한 전기가 오는 것 같이 찌릿하기도 하고뒷 목덜미에 살짝 소름이 돋는것 같기도 하면서어느샌가 나를 몽롱하고 나른하게 만들어버리는..예전에는 내가 약간 변태기(?)가 있어서 그런가 의심하기도 했지만근래 들어 나만 이런걸 느끼는게 아니라는 사실을 알게 되었다. ASMR (Au..
조건절 Pushing - 뷰를 참조하는 쿼리 블록의 조건절을 뷰 쿼리 블록 안으로 Pushing하는 기능(옵티마이저가 어떤 이유에서 뷰 Merging에 실패했을 때 2차적으로 시도) 조건절 (Predicate) Pushdown- 쿼리 블록 밖에 있는 조건들을 쿼리 블록 안쪽으로 밀어 넣음SELECT DEPTNO, AVG_SAL FROM (SELECT DEPTNO, AVG(SAL) AVG_SAL FROM EMP GROUP BY DEPTNO) A WHERE DETPNO = 30;Execution Plan-------------------------------------------------------------------------------- 0 SELECT STATEMENT Optimizer=ALL_RO..
☑ 쿼리 변환이란?뷰 MergingSELECT * FROM (SELECT * FROM EMP WHERE JOB = 'SALESMAN') A,(SELECT * FROM DEPT WHERE LOC = 'CHICAGO') BWHERE A.DEPTNO = B.DEPTNO;▼SELECT * FROM EMP A, DEPT BWHERE A.DEPTNO = B.DEPTNO AND A.JOB = 'SALESMAN' AND B.LOC = 'CHICAGO';- 뷰 Merging을 통해 옵티마이저는 더 다양한 access 경로를 조사 대상으로 삼게 됨 단순 뷰(Simple View) Merging- 단순 뷰 : 조건절과 JOIN문만을 포함, no_merge 힌트를 사용하지 않는 한 언제든 Merging 발생-- 조건절 하나만..
쿼리 변환 (Query Transformation)- 쿼리 옵티마이저가 SQL을 분석해 의미적으로 동일(같은 결과를 리턴)하면서도 더 나은 성능이 기대되는 형태로 재작성① 휴리스틱 쿼리 변환결과만 보장된다면 무조건 쿼리 변환 수행 (일종의 Rule-based 최적화 기법)② 비용기반 쿼리 변환변환된 쿼리의 비용이 더 낮을 때만 쿼리 변환 수행 서브쿼리의 분류- 인라인 뷰 (Inline View) : from 절에 나타나는 서브쿼리- 중첩된 서브쿼리 (Nested Subquery) : 결과집합을 한정하기 위해 where 절에 사용된 서브쿼리 * 서브쿼리가 메인쿼리에 있는 컬럼을 참조하는 형태를 '상관관계 있는 서브쿼리'라고 함- 스칼라 서브쿼리 (Scalar Subquery) : 한 레코드당 정확히 하나의..
SQL 처리 절차 - CBO (Cost-Based Optimizer) - SQL Parsing① Syntax check (문법적 오류)② Semantic check (의미상 오류)③ 권한 검사④ SQL과 실행계획이 Library Cache에 존재하는지 check⑤ 존재하면 Execution 단계로 점프 (Soft Parsing), 존재하지 않으면 Optimization (Hard Parsing) ˚Soft Parsing : SQL과 실행계획을 Library Cache에서 찾아 바로 실행˚Hard Parsing : SQL과 실행계획이 캐싱되어 있지 않아 최적화 한 후 실행 ▼ Library Cache 저장 구조* Hash Bucket = Hash Function(SQL Text) Library Cache ..