WEB TIP/MS-SQL

·WEB TIP/MS-SQL
출처 : korea.internet.com 저자: Alexander Chigrik 다음에 소개할 14가지 팁들은 여러분이 Transact SQL문으로 쿼리를 작성할때 성능상의 이유로 꼭 지켰으면 하는 것들이다. where 절을 사용하여 쿼리의 결과셋을 제한한다. 이것은 성능에 가장 영향을 미치는 것으로 클라이언트에게 모든 결과가 아니라 꼭 필요한 결과만 반환하도록 한다. 이렇게하면 쓸모없는 네트웍 트래픽을 감소시킬 수 있으며 쿼리 성능도 향상된다. 테이블의 모든 컬럼이 아닌 필요한 컬럼의 레코드만 반환한다. 역시 성능에 영향을 미치며 클라이언트에게 필요한 컬럼의 데이터만 반환하여 쓸모없는 트래픽을 감소시키고 쿼리 성능을 향상시킨다. 뷰나 스토어드 프로시져를 사용한다. 긴 쿼리문을 네트웍으로 전송하는것에 ..
·WEB TIP/MS-SQL
출처 : 부지런한(?) 개발자 1. 인덱스 - index seek : 인덱스를 타고 조회 - table scan : 인덱스 안타고, 전체 테이블 스캔 2. 클러스트된 인덱스 vs 클러스터안된 인덱스 클러스터 된 인덱스 - 차례 - 물리적인 순서로 데이타가 저장 - 테이블당 하나만 설정가능 - 속도 쵝오 - 유니크 인덱스로 설정 - 범위에 의한 쿼리에 적합 클러스터 되지 않은 인덱스 - 색인 - 테이블당 249개까지 설정 가능 - 작은 범위의 데이타에서 특정 데이터를 반환하는 쿼리에 적합 3. 단일 컬럼 인덱스 vs 복합 컬럼 인덱스 - 테이블의 검색시 두개의 필드를 사용하여 검색하는 경우, 주문테이블 검색시 고객, 제품이 두개의 컬럼을 이용하여 주문데이타가 조회가 가능하다면 고객, 제품 컬럼을 복합 컬럼..
·WEB TIP/MS-SQL
SELECT [총 ] = count(age) , [10대] = count(case when age/10=1 then 1 end) , [20대] = count(case when age/10=2 then 1 end) , [30대] = count(case when age/10=3 then 1 end) , [40대] = count(case when age/10=4 then 1 end) , [50대] = count(case when age/10=5 then 1 end) , [60대] = count(case when age/10=6 then 1 end) , [70대] = count(case when age/10=7 then 1 end) , [80대] = count(case when age/10=8 then 1 en..
·WEB TIP/MS-SQL
일자별로 집계가 필요한경우 DECLARE @조회시작일자 datetime , @조회종료일자 datetime SET @조회시작일자 = '2004-06-14' SET @조회종료일자 = '2004-06-18' SELECT isnull(count(case when substring(address,1,2) = '서울' then 1 end),0) as 서울 , isnull(count(case when substring(address,1,2) = '경기' then 1 end),0) as 경기 , isnull(count(case when substring(address,1,2) = '인천' then 1 end),0) as 인천 , isnull(count(case when substring(address,1,2) = '대..
·WEB TIP/MS-SQL
SELECT CASE WHEN datepart(dw, 필드이름) = 1 THEN '일요일' WHEN datepart(dw, 필드이름) = 2 THEN '월요일' WHEN datepart(dw, 필드이름) = 3 THEN '화요일' WHEN datepart(dw, 필드이름) = 4 THEN '수요일' WHEN datepart(dw, 필드이름) = 5 THEN '목요일' WHEN datepart(dw, 필드이름) = 6 THEN '금요일' ELSE '토요일' END , count(*) FROM table_name GROUP BY datepart(dw, 필드이름) ORDER BY datepart(dw, 필드이름)
·WEB TIP/MS-SQL
테이블 날짜칼럼에 2007-04-03 12:34:30.483 와 같이 들어가있을때 (칼럼은 datetime으로 설정 인서트시 getDate() 사용) YYYYMMDDHHIISS 형태로 셀렉트하고 싶을때 SELECT LEFT(CONVERT(VARCHAR(20), GETDATE(),112) + REPLACE(CONVERT(VARCHAR(10), GETDATE(), 114), ':', ''), 14)
·WEB TIP/MS-SQL
SELECT * FROM 테이블명 WITH(INDEX(인덱스이름)) or WITH(NOLOCK)
·WEB TIP/MS-SQL
sp_spaceused행의 수, 예약된 디스크 공간 및 현재 데이터베이스의 테이블이 사용하는 디스크 공간을 표시하거나 전체 데이터베이스가 예약하였거나 사용하는 디스크 공간을 표시합니다.구문sp_spaceused [[@objname =] 'objname'] [,[@updateusage =] 'updateusage']인수[@objname =] 'objname'(예약되었거나 할당된) 공간 사용 정보가 필요한 테이블의 이름입니다. objname은 nvarchar(776)이며 기본값은 NULL입니다.[@updateusage =] 'updateusage'DBCC UPDATEUSAGE가 데이터베이스(objname이 지정되지 않은 경우) 내에서 실행되어야 하는지 또는 특정 개체(objname이 지정된 경우) 내에서 실..
·WEB TIP/MS-SQL
자동증가 칼럼을 초기화 DBCC CHECKIDENT (TableName, RESEED , 0)
·WEB TIP/MS-SQL
-- 테이블생성 CREATE TABLE [TimeBook] ( [No] [int] IDENTITY (1, 1) NOT NULL , [Name] [varchar] (10) COLLATE Korean_Wansung_CI_AS NULL , [PersonalID] [char] (10) COLLATE Korean_Wansung_CI_AS NOT NULL , [Date] [varchar] (10) COLLATE Korean_Wansung_CI_AS NULL , [TimeBookST] [varchar] (5) COLLATE Korean_Wansung_CI_AS NULL , [TimeBookED] [varchar] (5) COLLATE Korean_Wansung_CI_AS NULL , [TimeBookCate] [ch..
제프
'WEB TIP/MS-SQL' 카테고리의 글 목록 (4 Page)