본문 바로가기

728x90
반응형

연구개발/SQL2005

(201)
프로시져 연습 /*매출정보 procedure 1 날짜별 (0,0) 2.상품별 (A,01) (b,03) 3.연령별 (인자값,null) */ --1. 날짜별 create proc soldinfo_date @date_from nchar(8),@date_to nchar(8) as select substring(o.outcode,4,10) as '날짜', sum (od.qty*od.price) as '상품별 매출액' from orderdetail od inner join [output] o --결제가 되어야 매출이 이뤄지므로 on od.ocode=o.ocode --결제시 생성되는 outcode로 일정기간동안 매출을 where substring(o.outcode,4,10) > convert(datetime,@date_from) ..
Partition Table 특징 1) 어떤 하나의 테이블이 특정 컬럼의 value 값에 따라 서른 다른 물리적인 파일로 저장. 2) 대용량 데이터베이스화 하기 위한 필수 기술 3) MS-SQL2005 부터 지원 4) 읽고 쓸 때 TRAFFIC의 OVERHEAD를 막을 수 있다. 5) PARTITON TABLE은 생성시에만 별도의 작업이 필요할 뿐, 실제 데이터의 추가, 삭제, 조회는 기 존의 방법과 동일하게 이루어진다 실행계획 STEP 1 HARDWARE적인 설계 및 기획 STEP 2 테이블을 분리하는데 기준이 되는 PARTITION FUNCTION 생성 범위 설정 시 LEFT, RIGHT 지시어에 대한 사용법 숙지 STEP 3 PARTITION SCHEMA 생성 실제 저장되어질 파일 그룹 설정 그룹 지정시 PRIMARY는 반드시..
Open Query select * from openquery(연결된서버이름,'select~') select * from openquery(ybj,'select * from dba37.dbo.sawon)
Linked Server 1. 실행전 사전 실행사항 1) 서비스 - Remote Procedure Call 활성화 SQL Server Browser 활성화 2) SSCM - SQL Server 네트워크 구성 -> 1. TCP/IP 사용 -> IP1 사용, IP주소 자신주소, TCP 포트 1433 2. 명명된 파이프 사용 3) 클라이언트 프로토콜 TCP/IP사용, 명명된 파이트 사용 4) Link 할 서버 별칭 생성 2. 별칭 서버를 등록 3. Linked Server 스크립트로 연결시 명령어 use master go exec sp_addlinkedserver '별칭서버네임',N'sql server' go exec sp_addlinkedserversrvlogin '별칭서버네임','false','sa','sa','별칭서버 sa의 암..
INDEX 2 1. Clustered Index / Nonclustered Index ACTION Clustered Index Nonclustered Index Index 생성 후 크기 증가 테이블의 1~5% 테이블의 10~20% Point Query 실행시 상당히 빠르다. Clustered index보다 약간느리다. Range Search 실행시 빠르다. 일반적으로 Table Scan보다 느리다. DML문 실행시 과부하 걸린다. Clustered Index보다 부하가 적다. Covered Index의 경우 도움이 안된다. 매우 도움이 된다. 대단히 빠르다. 테이블당 생성 개수 오직 1개 249개까지 가능 Clustered Index Nonclustered Index 1. 인덱스 Leaf 페이자가 바로 데이터 페이지 ..
INDEX 1.INDEX의 정의 1)정의 데이터를 찾을 때 시간을 단축하기 위해서 사용되어진다. 특정한 값을 찾기 위해 INDEX가 없으면 TABLE SCAN을 이용 함으로 서버 퍼포먼스가 저하된다. 2)특징 신속한 자료 검색을 위해 이용 단점 : DML문을 이용한 데이터의 추가/삭제 시 과부하로 인한 서버 속도 저하 (이유:DB변경시 INDEX도 변경해줘야 한다.) 3)TABLE에 INDEX를 사용하는 이유 TABLE 내에 존재하는 각가의 레코들의 유일함(UNIQUE)를 증명 TABLE 상호 간의 JOIN속도 증가 자료의 조회가 빠름 ORDER BY와 GROUP BY의 빠른 수행 4)모든 COLUMN에 사용 하지 않는 이유 INDEX작성 시 많은 시간 소요 INDEX작성 시 과도한 디스크 영역의 사용 CLUSTE..
INDEXING VIEW /* 1.View는 원본의 select구문을 실행시키주는 역할로서 서버 자체 속도 향상의 효과는 없다. 2.View 실행시 원본 table에 접근하여 결과 값을 찾는 행동을 index화 시켜 줌으로서 쿼리문의 속도향상을 꾀 할 수있다. 3.하지만, 원본 table의 값이 바뀌면 indexing view도 값을 바꿔 줘야 하기 때문에, 보통의 index가 가지고 있는 단점인 서버부하 가 빈번히 일어나게 된다. 그러므로, 값이 자주 바뀌는 동적인 table보다는 정적인 table에 서 생성하는게 좋다. */ ex) select * from sawon select * from dept sp_helpconstraint dept sp_helpconstraint sawon create view a_money wit..
UNION ,UNION ALL ,INTERSECT and EXCEPT UNION ,UNION ALL ,INTERSECT and EXCEPT ex) CREATE TABLE M1 ( NUM INT IDENTITY(1,1) NOT NULL, NAME VARCHAR(1) NOT NULL ); SELECT * INTO M2 FROM M1; SELECT * FROM M1; INSERT INTO M1(NAME) VALUES('A'); INSERT INTO M1(NAME) VALUES('B'); INSERT INTO M1(NAME) VALUES('C'); INSERT INTO M1(NAME) VALUES('H'); SELECT * FROM M2; INSERT INTO M2(NAME) VALUES('D'); INSERT INTO M2(NAME) VALUES('E'); INSERT INTO..

728x90
반응형