'MSsql'에 해당되는 글 7건

  1. 2008/11/15 MS SQL : 샘플 테이블 (학생 테이블 + 동아리 테이블 + 학생동아리 테이블)
  2. 2008/11/12 MS-SQL 2005 테이블 컬럼 점검
  3. 2008/11/12 MS-SQL 2005 파일 사이즈 점검
  4. 2008/11/10 MS-SQL 2005 - Top을 사용한 페이지 읽어 오기
  5. 2008/11/09 MS-SQL 2005 - 쿼리 결과를 상세하게 표시(Data 페이지, 등등..)
  6. 2008/11/09 MS-SQL 2005 - drop, create 사용법
  7. 2008/10/16 MS SQL 에서 꼭 해봐야할 기본 쿼리문
2008/11/15 17:17

MS SQL : 샘플 테이블 (학생 테이블 + 동아리 테이블 + 학생동아리 테이블)

조인 테이블 테스트시 필요한 쿼리문
학생, 동아리 테이블은 기본으로 생성됨
학생동아리 테이블은 FK로 구성되어짐
-------------------------------------------------------------------------------------------
use sqlDB
create table stdTbl
(
 stdName nvarchar(10) not null primary key,
 addr nchar(4) not null
)
go

create table clubTbl
(
 clubName nvarchar(10) not null primary key,
 roomNo nchar(4) not null
)
go

create table stdclubTbl
(
 num int identity not null primary key,
 stdName nvarchar(10) not null
  foreign key references stdTbl(stdName),
 clubName nvarchar(10) not null
  foreign key references clubTbl(clubName)
)
go

insert into stdTbl values('박지성', '서울')
insert into stdTbl values('박주영', '경기')
insert into stdTbl values('조재진', '충북')
insert into stdTbl values('이천수', '인천')
insert into stdTbl values('안정환', '강원')
go
insert into clubTbl values('수영', '101호')
insert into clubTbl values('바둑', '102호')
insert into clubTbl values('축구', '103호')
insert into clubTbl values('봉사', '104호')
go
insert into stdclubTbl values('박지성', '바둑')
insert into stdclubTbl values('박지성', '축구')
insert into stdclubTbl values('조재진', '축구')
insert into stdclubTbl values('이천수', '축구')
insert into stdclubTbl values('이천수', '봉사')
insert into stdclubTbl values('안정환', '봉사')
go

크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0
2008/11/12 10:17

MS-SQL 2005 테이블 컬럼 점검

--확인방법
USE oms25_20070801
GO
-- 사전에 sysindexes에 있는 정보를 최신상태로 업데이트
DBCC UPDATEUSAGE(0)
GO

-- 결과 내용 (몇가지 최적화가 수행된다면, 아래와 같이 나온다.)
DBCC UPDATEUSAGE: 테이블 'TBL_BIZOBJ_STATUS'의 업데이트된 수(인덱스 'IX_TBL_BIZOBJ_STATUS_00', 파티션 1):
        DATA 페이지 (In-row Data): (12328)에서 (12377)(으)로 변경되었습니다.
        USED 페이지 (In-row Data): 12427개 페이지에서 12476개 페이지로 변경되었습니다.
        RSVD 페이지 (In-row Data): 12432개 페이지에서 12481개 페이지로 변경되었습니다.
DBCC UPDATEUSAGE: 테이블 'TBL_BIZOBJ_STATUS'의 업데이트된 수(인덱스 'IX_TBL_BIZOBJ_STATUS_01', 파티션 1):
        RSVD 페이지 (In-row Data): 1320개 페이지에서 1321개 페이지로 변경되었습니다.
...
DBCC 실행이 완료되었습니다. DBCC에서 오류 메시지를 출력하면 시스템 관리자에게 문의하십시오.

-- 결과 내용 (아무 이상이 없다면 아래와 같다.)
DBCC 실행이 완료되었습니다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0
2008/11/12 10:09

MS-SQL 2005 파일 사이즈 점검

DB이름을 기준으로 아래의 쿼리를 실행 합니다.

-- 확인 방법
USE [DB 이름]
GO
DBCC SHOWFILESTATS
GO

--실행 결과


여기 나온 정보를 사용해서 아래의 쿼리를 만들어서 다시 실행합니다.

-- 확인 방법
select 513*8*8/1024. as Reserved, 400*8*8/1024. as Used, (400*8*8/1024.)/(513*8*8/1024.)*100.

-- 실행 결과

현재 파일 사이즈를 보면, 32MB 할당된 데이터 파일 사이즈이고, 25MB 실제 사용되고 있는 것을 확인할 있다.
할당된 영역 77% 정도 사용되고 있는 상태라고 보면 된다.

파일의 크기가 자동증가라고 본다면 증가 폭을 늘리던지 아니면 파일의 크기를 미리 늘려 놓는 것이 좋다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0
2008/11/10 00:45

MS-SQL 2005 - Top을 사용한 페이지 읽어 오기

GridView 컨트롤이 존재 하지만 여러개의 데이터를 읽어 올때
데이터가 많아 지면 속도가 느려 지기 마련인데요.
top을 이용하면 해당 개수 만큼 값을 가져 올수 있어서 편한듯 합니다.

.net 3.5 부터는 page를 컨트롤 하는 컨트롤이 존재 하기 때문에
이 것과 연동하면 더 좋은 효과를 기대할 수 있다고 보여 집니다.

기본 코드는 아래와 같습니다.

select top * 5 from test
where key_col not in
(
select top 0 key_col
from test
order by key_col desc
)
order by key_col desc

- top * 5 라는 것은 5개의 데이터를 가져 오도록 하는 구문입니다.
- 0 이곳은 0페이지 부터.. 즉 (현재 페이지 * 보여줄 항목개수, 0 * 5)
  가 되는 것입니다.

위의 쿼리를 실행하면 5개의 데이터를 가져옵니다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0
2008/11/09 00:27

MS-SQL 2005 - 쿼리 결과를 상세하게 표시(Data 페이지, 등등..)

악성 쿼리를 찾는데 도움이 될듯 합니다.
현재 쿼리 문이 io를 어떻게 사용하고 있는지를 알려 줍니다.

select * from tb_double

이 쿼리를 날리게 되면 메시지 창에 (1000개 행 적용됨)
이라는 구문을 보실수 있습니다.

하지만 더 디테일 하게 보게 되면
select 을 하기 위해서 전체 몇 페이지를 읽고 있으며,
어떤 부하가 걸리고 있는지를 볼 수 있습니다.

set statistics io on
select * from tb_double

 



이상..

크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0
2008/11/09 00:23

MS-SQL 2005 - drop, create 사용법


use fastDectionTest
go

set nocount on

-- 테이블을 지웁니다.
drop table tb_double

-- 테이블을 생성합니다.
cteate table tb_double
(
id int identity,
ph int null
)

-- 테이블을 하나 추가해봅니다.
insert tb_double(ph) values(30)
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0
2008/10/16 13:35

MS SQL 에서 꼭 해봐야할 기본 쿼리문

DB 제작할때 쿼리 문은 항상 작성하는 습관을 들이자.
이 코드를 통해서 여러가지 테스트할때 바로바로 적용해볼 수 있도록 하기 위함이다.

[순서]
1. UDL 파일을 만들어서 DB 커넥션 문을 저장해 놓는다.
2. 쿼리 테이블을 제작
3. 필요하면 로그인 계정 추가
4. 샘플 쿼리 문을 만든다. 아래와 같이
use exam
go

-- 고객 테이블
Create Table dbo.Customers
(
 CustomerID int Identity(1,1) Primary Key Not NULL, --일련번호
 Name Varchar(25) Null, --이름
 Email Varchar(100) Null, --이메일
 RegistDate DateTime Default(GetDate()) --등록일
)
Go

--입력 예시
Insert Customers Values('홍길동', 'h@h.com', GetDate())
--출력 예시
Select * From Customers Order By CustomerID Desc
--세부출력 예시
Select * From Customers Where Name = '홍길동'
--수정 예시
Begin Tran
 Update Customers
 Set Name = '백두산', Email = 'b@b.com'
 Where Name = '홍길동' And Email = 'h@h.com'
--RollBack Tran
Commit Tran
--삭제 예시
Delete Customers Where Name = '백두산'
--검색 예시
Select * From Customers
Where Name Like '%백%' Or Email Like '%b%'

수정 및 삭제시에는 트랜을 꼭 해주는것도 좋을듯 하다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0