본문 바로가기

SQL

SQL Server 주요 성능 카운터 해당 XML 파일을 내려 받아서 성능카운터 템플릿으로 불러오기 하면 편합니다. Processor\%Processor Time : % Processor Time은 프로세서가 비유휴 스레드를 실행하는 데 소비하는 시간의 백분율입니다. 이것은 프로세서가 각 샘플 간격 동안 유휴 스레드를 실행하는 데 소비한 시간을 측정하여 간격 기간에서 그 값을 뺀 것입니다. 각 프로세서에는 유휴 스레드가 있는데 이것은 다른 어떤 스레드도 실행되지 않을 때 사이클을 소비하는 스레드입니다. 이 카운터는 프로세서 동작의 주요 표시기이며 샘플 간격 동안 관찰되는 사용 시간의 평균 백분율을 표시합니다. 이것은 서비스가 비활성인 시간을 모니터링하여 100%에서 그 값을 뺀 것입니다. 즉 쉽게 말해서, 1시간 동안 CPU상태를 관찰하였고.. 더보기
[MSSQL] EXCEPT :: oracle의 MINUS 와 같은 효과 oracle의 MINUS 와 같은 효과를 보러면 EXCEPT를 사용할 수 있다. SELECT * FROM TAB1 WHERE COL=200EXCEPTSELECT * FROM TAB2 WHERE COL=300 막상 사용해보니 성능이 좋지 않다. 나중에 다시 분석해봐야겠음! 더보기
[교육] SQL초보에서실전전문가까지 ORACLE - 11 옵티마이저의 원리와 이해 SQL> show parameter opt ..... optimizer_mode integer ALL_ROW alter session set optimizer_mode=rule; set autotrace on; select * from emp; Statistics ---------------------------------------------------------- 0 recursive calls 두 번 이상 실행하면 메모리에 데이터가 있어서 0 이 될 수 있다 0 db block gets 10 consistent gets 가져온 Block의 수 0 physical reads 0 redo size 2052 bytes sent via SQL*Net to client 407 byt.. 더보기
[교육] SQL초보에서실전전문가까지 ORACLE - 10 --// 일반적인 GROUP BYSELECT B.DNAME, A.JOB, COUNT(*) AS TOTALEMPL, SUM(A.SAL) AS TOTALSALFROM EMP AINNER JOIN DEPT B ON A.DEPTNO=B.DEPTNOGROUP BY B.DNAME, A.JOB; --// ROLLUP GROUP BY 중간합과 총합까지 나오는 함수SELECT B.DNAME, A.JOB, COUNT(*) AS TOTALEMPL, SUM(A.SAL) AS TOTALSALFROM EMP AINNER JOIN DEPT B ON A.DEPTNO=B.DEPTNOGROUP BY ROLLUP(B.DNAME, A.JOB); MSSQL 에서는 WITH ROLLUP 구문으로 사용할 수 있다. --// GROUPING 그룹.. 더보기
[교육] SQL초보에서실전전문가까지 ORACLE - 8 Composite Type 변수 만들기DECLARE TYPE name_table_type IS TABLE OF emp.ename%TYPE INDEX BY BINARY_INTEGER; name_table name_table_type; begin name_table(1) := 'KKKK'; name_table(2) := 'HHHH'; insert into emp(empno, ename) values (5151, name_table(1)); insert into emp(empno, ename) values (6161, name_table(2)); --// 내부에 commit 넣어줄 수 있음. commit; end; select * from emp; 테이블변수 만들기DECLARE TYPE EMP_RECORD_T.. 더보기
Oracle START WITH ~ CONNECT BY 절 MSSQL로 처리하기 굉장히 정리가 잘된 START WITH ~ CONNECT BY 예제 * Oracle START WITH ~ CONNECT BY 절 MSSQL로 처리하기. # OracleSELECT LEVEL, CATE_ID, LTRIM (SYS_CONNECT_BY_PATH (CATE_NAME, ' > '), ' > ') || ' > ' AS CATE_NAME FROM TBL_CATEGORYSTART WITH CATE_ID = 1CONNECT BY PRIOR CATE_ID = PARENT_CATE_ID # SQL ServerWITH CTE_TABLEAS( SELECT 1 AS LEVEL, A.CATE_ID, PARENT_CATE_ID, CATE_NAME, CONVERT(VARCHAR(100),CAST(A.CATE_NAME.. 더보기
[교육] SQL초보에서실전전문가까지 ORACLE - 7 DECENDING INDEX CREATE INDEX fidx_stud_no_name ON student (deptno DESC, name ASC); 함수기반 INDEX CREATE INDEX fidx_stud_no_name ON student (UPPER(ename)); 실행계획보기 [oracle@localhost ~]$ cd $ORACLE_HOME/sqlplus/admin [oracle@localhost admin]$ ls glogin.sql help iplus plustrce.sql pupbld.sql [oracle@localhost admin]$ pwd /u01/app/oracle/product/10.2.0/db_1/sqlplus/admin [oracle@localhost admin]$ ls -al.. 더보기
[교육] SQL초보에서실전전문가까지 ORACLE - 6 --// MERGE SAMPLESCREATE TABLE TESTAS SELECT * FROM EMP WHERE DEPTNO=10; SELECT * FROM TEST; UPDATE TEST SET SAL = SAL+1000; SELECT * FROM TEST;SELECT * FROM EMP; MERGE INTO TEST TUSING EMP EON (T.EMPNO = E.EMPNO)WHEN MATCHED THENUPDATE SET T.SAL = E.SALWHEN NOT MATCHED THENINSERT VALUES(E.EMPNO, E.ENAME, E.JOB, E.MGR, E.HIREDATE, E.SAL, E.COMM, E.DEPTNO); DROP TABLE TEST; --// SELECT INTO 구분의 차.. 더보기
[교육] SQL초보에서실전전문가까지 ORACLE - 5 서브쿼리-- 자신이 자신을 참조하는 형태일 경우-- 이거시 더 실행계획이 좋음select ename, salfrom emp awhere sal > (select avg(sal) from emp where deptno=a.deptno group by deptno); -- 집합적으로 만들어봤으나 효율은 그렇게 좋지 않음.select ename, salfrom emp awhere exists ( select 1 from (select deptno, avg(sal) avgsal from emp group by deptno) z where a.deptno=z.deptno and a.sal > z.avgsal ); -- 검증용 쿼리select deptno, avg(sal) avgsal from emp group b.. 더보기
[교육] SQL초보에서실전전문가까지 ORACLE - 4 과제 카페 주소http://cafe.naver.com/fordeveloper [oracle@localhost ~]$ lsnrctl start리스너 살려주는 명령어 함수 이어서 진행 NVL2 ( 조건, 참 일때 값, Null일때 값 )SQL> select ename, sal, comm, nvl2(comm, 1, 2) from emp;ENAME SAL COMM NVL2(COMM,1,2)---------- ---------- ---------- --------------KTMIN 3500 2민경_왕태 3500 2SMITH 800 2ALLEN 1600 300 1WARD 1250 500 1 NULLIF( 값1, 값2 ) 값1,2 가 같으면 NULL 리턴 COALSCE( A, B, C ) DECODE - CASE .. 더보기