구동테이블이 작은 Nested Loops + 내부테이블의 결합키에 인덱스
'Oracle' 카테고리의 다른 글
실행계획 (0) | 2017.03.06 |
---|---|
START WITH CONNECT BY (0) | 2017.02.23 |
OVER PARTITION BY (0) | 2017.02.22 |
EXISTS (0) | 2017.02.21 |
EXPLAIN PLAN FOR (0) | 2017.02.20 |
구동테이블이 작은 Nested Loops + 내부테이블의 결합키에 인덱스
실행계획 (0) | 2017.03.06 |
---|---|
START WITH CONNECT BY (0) | 2017.02.23 |
OVER PARTITION BY (0) | 2017.02.22 |
EXISTS (0) | 2017.02.21 |
EXPLAIN PLAN FOR (0) | 2017.02.20 |
set autotrace traceonly;
튜닝 기본 (0) | 2017.03.23 |
---|---|
START WITH CONNECT BY (0) | 2017.02.23 |
OVER PARTITION BY (0) | 2017.02.22 |
EXISTS (0) | 2017.02.21 |
EXPLAIN PLAN FOR (0) | 2017.02.20 |
SELECT A.EMPLOYEE_ID, A.FIRST_NAME, A.MANAGER_ID,
B.EMPLOYEE_ID, B.FIRST_NAME, B.MANAGER_ID
FROM EMPLOYEES A, EMPLOYEES B
WHERE A.MANAGER_ID = B.EMPLOYEE_ID;
SELECT A.EMPLOYEE_ID, A.FIRST_NAME, A.MANAGER_ID
FROM EMPLOYEES A
START WITH A.MANAGER_ID IS NOT NULL
CONNECT BY PRIOR A.MANAGER_ID = B.EMPLOYEE_ID;
튜닝 기본 (0) | 2017.03.23 |
---|---|
실행계획 (0) | 2017.03.06 |
OVER PARTITION BY (0) | 2017.02.22 |
EXISTS (0) | 2017.02.21 |
EXPLAIN PLAN FOR (0) | 2017.02.20 |
SELECT DEPARTMENT_ID,
JOB_ID,
COUNT(SALARY),
SUM(SALARY)
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID, JOB_ID,
OVER PARTITION BY 를 쓰면 GROUP BY 를 안써도 됨
SELECT DEPARTMENT_ID,
JOB_ID,
COUNT(SALARY) OVER ( PARTITION BY SALARY )
SUM(SALARY) OVER ( PARTITION BY SALARY)
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID, JOB_ID,
실행계획 (0) | 2017.03.06 |
---|---|
START WITH CONNECT BY (0) | 2017.02.23 |
EXISTS (0) | 2017.02.21 |
EXPLAIN PLAN FOR (0) | 2017.02.20 |
rowid (0) | 2017.02.14 |
select first_name, last_name, job_id
from employ a
where exists (select 1 from dual b
where a.job_id = 'IT_PROG');
EXISTS 다음 서브쿼리가 결과값을 가지면 보여진다.
실행계획 (0) | 2017.03.06 |
---|---|
START WITH CONNECT BY (0) | 2017.02.23 |
OVER PARTITION BY (0) | 2017.02.22 |
EXPLAIN PLAN FOR (0) | 2017.02.20 |
rowid (0) | 2017.02.14 |
EXPLAIN PLAN FOR
SELECT DEPARTMENT_ID, MANAGER_ID FROM EMPLOYEES
GROUP BY DEPARTMENT_ID, MANAGER_ID ;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
실행계획 (0) | 2017.03.06 |
---|---|
START WITH CONNECT BY (0) | 2017.02.23 |
OVER PARTITION BY (0) | 2017.02.22 |
EXISTS (0) | 2017.02.21 |
rowid (0) | 2017.02.14 |
DECLARE
V_ROWID ROWID;
V_SALARY NUMBER;
BEGIN
SELECT ROWID, SALARY
INTO V_ROWID, V_SALARY
FROM EMPLOYEES
WHERE FIRST_NAME = 'Steven'
AND LAST_NAME = 'Kind'
UPDATE EMPLOYEES SET SALARY = V_SALARY * 1.1
WHERE ROWID = V_ROWID;
END;
실행계획 (0) | 2017.03.06 |
---|---|
START WITH CONNECT BY (0) | 2017.02.23 |
OVER PARTITION BY (0) | 2017.02.22 |
EXISTS (0) | 2017.02.21 |
EXPLAIN PLAN FOR (0) | 2017.02.20 |