SQL Server for Developer: 개발자를 위한 튜닝 가이드
그 외 개발자 권고 사항
그 외 개발자 권고 사항
번호 | 수칙 | 체크 |
---|---|---|
1 | 코드는 알아보기 쉽게 들여쓰기 합니다. | |
2 | 주석을 적절히 사용합니다. | |
3 | ANSI-92 SQL을 사용합니다 | |
4 | 반드시 오류 여부를 확인하는 코드를 작성합니다. | |
5 | 기타 개발 시 중요한 조언들 |
수칙1. 코드는 알아보기 쉽게 들여쓰기 합니다.
기억을 잃어버린 자신이 알아볼 수 있도록 쓰라는 말이 있습니다. 쿼리는 알아보기 쉽게 필요한 경우 적당한 룰을 정해 알아보기 수월하게 작성하도록 합니다.
[따라 하기]
1.적당한 들여쓰기와 띄어쓰기는 코드를 알아보기 수월하게 합니다.
선언부와 초기값을 앞에 몰아 두었습니다. 한 칸 띄우고 반복 실행문 안쪽의 문은 TAB으로 들여쓰기를 했습니다. 또한 다음과 같이 불필요한 begin end 문도 생략할 수 있습니다.
use pubs
go
create proc up_test1
as
begin
select * from authors
end
go
create proc up_test2
as
select * from authors
go
sp_helptext up_test1
sp_helptext up_test2
수칙2. 주석을 적절히 사용합니다.
저장 프로시저나 뷰에 주석을 포함시킬 수 있는데 쿼리 안이 아니라 쿼리 밖에도 저장 가능합니다. 이를 이용에 뷰의 제작일, 작성자, 주요내용들을 소스와 함께 저장할 수 있습니다.
[따라 하기]
1.주석과 코드를 분리했지만 한꺼번에 만들어서 실행합니다.
2. 소스를 보기 위에 sp_helptext를 사용합니다. Syscomments 테이블에는 주석까지 함께 저장되어 있는 것을 알 수 있습니다. 소스관리는 코드 원문 뿐 아니라 주석도 함께 관리 합니다!
수칙3. ANSI-92 SQL을 사용합니다
가능한 한 표준ANSI 쿼리를 사용하도록 합니다
수칙4.반드시 오류 여부를 확인하는 코드를 작성합니다.
코드는 철저한 디버깅 속에 개발되어야 합니다.
[따라 하기 - 디버깅 툴을 설치하는 방법]
1.SQL설치를 할 때 다음항목을 설치하면 디버깅 도구가 설치되는 것입니다.
[따라 하기- 디버깅을 사용하는 방법]
1.쿼리 분석기를 실행합니다.
2.목표로 하는 저장 프로시저를 객체브라우저에서 선택합니다.
3.저장 프로시저를 오른쪽 클릭하고 팝업메뉴에서 디버그를 선택합니다
4.파라미터 리스트의 각각의 파라미터를 클릭하여 값을 입력하고 [실행]을 클릭하면 SQL서버는 디버거를 띄웁니다
5.그 다음은 일반 디버거 프로그램과 동일하므로 각자 연구해보도록 합니다.
[참고]트리거 및 사용자 정의 함수 디버깅
트리거나 함수를 디버깅하려면 그 트리거나 함수를 사용하는 프로시저를 만들어 디버거를 돌리면 됩니다.
수칙5. 기타 개발 시 중요한 조언들
템플릿을 사용해봅시다!
[따라 하기 - 템플릿 활용]
1.기존의 템플릿을 사용해보고 마음에 들면 대량의 작업 시 중요한 기초 템플릿이 될 수 있어 개발시간을 절약할 수 있습니다.
2.쿼리 분석기의 템플릿을 선택 후 만들고자 하는 항목 선택 후 마우스 오른쪽 클릭 팝업메뉴에서 열기 선택을 합니다.
3.나오는 템플릿 화면에서 CTRL+SHIFT+M 을 클릭해 봅니다. 놀라운 화면이 나타납니다. 아주 쉽게 제작의 토대를 그대로 사용할 수 있습니다.
4.적절하게 기본값을 넣어봅니다. 더 나아가 주석도 위와 같은 방법으로 제작해 둡니다. 더욱 편리한 개발환경이 구축됩니다.
가상 데이터를 다음과 같은 방법을 사용해 입력해 봅시다
-- 가상 데이터 입력방법
-- 1.while 관용구
--
-- 2.더블링
-- 원하는 크기가 될 때까지 테이블로 자신의 데이터를 삽입하는 것
use pubs
go
set nocount on
drop table tb_double
create table tb_double
(
id int identity
, ph int null
)
insert tb_double(ph) values(30)
insert tb_double(ph) values(35)
insert tb_double(ph) values(40)
insert tb_double(ph) values(45)
insert tb_double(ph) values(50)
set nocount of
declare @cnt int,@rcnt int,@targ int
select @targ= 100,@cnt = count(*),@rcnt=@targ-count(*) from tb_double
while @rcnt > 0
begin
set rowcount @rcnt
insert tb_double(ph) select ph from tb_double
set @cnt = @cnt + @@rowcount
set @rcnt = @targ - @cnt
end
set rowcount 0
select * from tb_double
go
-- 3.랜덤 값 집어넣기
-- 다음의 filltable유틸을 사용하면 간편합니다.
[참고] filltabl 사용방법
명령 프롬프트에서
fellable -Tpubs..테이블명 -N100000 -Usa -Ppassword -S서버명
하면 됩니다.
'Databases' 카테고리의 다른 글
SQL 서버의 핵심 T-SQL의 새로운 기능 (1) | 2007.04.25 |
---|---|
개발자를 위한 튜닝 가이드 - 쿼리 디자인 (1) | 2007.04.25 |
관리자를 위한 튜닝 가이드 - 운영체제 환경 설정편 (2) | 2007.04.25 |
관리자를 위한 튜닝 가이드 - SQL인스턴스 환경 설정 (0) | 2007.04.25 |
관리자를 위한 튜닝 가이드 - 데이터베이스 설정 (0) | 2007.04.25 |