database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 1548 게시물 읽기
No. 1548
[질문] CREATE 작성시 NULL 값 항목을 뒤로 빼는 것이 좋은 가요? [진행중]
작성자
김찬수(sqlkim)
작성일
2004-09-13 10:54ⓒ
2004-09-22 11:05ⓜ
조회수
2,629

아래 테이블 예를 살펴 보면 키값을 제외한 데이터 필드가 B~E까지 존재 합니다.

 

CREATE TABLE [TBcnt1] (
[A] [int] NOT NULL ,
[B] [varchar] (200) COLLATE Korean_Wansung_CI_AS  NULL,
[D] [text] NULL ,
[E] [smallint] NOT NULL ,
PRIMARY KEY CLUSTERED
(
[A]
) ON [PRIMARY]
) ON [PRIMARY]
GO

 

상식적으로 생각했을 때 아래와 같이 NULL 필드를 뒤로 빼면 더 요율적으로 기록될 것 같다는 생각이 듭니다.

(A~E까지의 나열 순서를 살펴주세요)

 

CREATE TABLE [TBcnt1] (
[A] [int] NOT NULL ,
[C] [smallint] NOT NULL ,
[E] [smallint] NOT NULL ,
[B] [varchar] (200) COLLATE Korean_Wansung_CI_AS  NULL,
[D] [text] NULL ,
PRIMARY KEY CLUSTERED
(
[A]
) ON [PRIMARY]
) ON [PRIMARY]
GO

 

위 두개의 case에 차이가 있나요?

MS-SQL에서 실재로 그렇게 효과(속도)를 얻을 수 있나요?

ORACLE/My SQL에서도 효과(속도)를 얻을 수 있나요?


많은 분들의 조언 늘 감사히 받고 있습니다.

수고하세요~

이 글에 대한 댓글이 총 2건 있습니다.
오라클은 모르겠구요. MS-SQL에서는 별 상관이 없는 것으로
생각됩니다.
왜냐하면 MS-SQL에서  NULL의 사용여무는 하나의 필드 값으로
(관련 테이블은 각 DB의 syscolumns 시스템 테이블)관리 되기 때문에 
성능과는 별 상관이 없을 것 같네요..

 

가을남자님이 2004-09-14 16:47에 작성한 댓글입니다. Edit

char와 carchar의 경우에도 속도에 영향이 있는 것으로 알고 있는데요

NULL 값도 그렇지 않을 까하는 생각이 계속듭니다.

느낄 수 있는 정도는 아니라도 이론상으로 그렇고 많은 방대한 테이터가 축적될 경우 눈으로 보기에 속도가 느껴질 수 있다면 하는 생각이

을 지울 수 없네요.

김찬수(sqlkim)님이 2004-09-22 11:07에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
1551[질문] SQL문 좀 부탁 드립니다. [1]
최병련
2004-09-14
2292
1550MS-SQL에서 MYSQL의 zerofill과 같은 역할을 하는건 없나요. [1]
조성일
2004-09-14
3130
1549procedure 실행후 로그 [6]
김민영
2004-09-13
5658
1548[질문] CREATE 작성시 NULL 값 항목을 뒤로 빼는 것이 좋은 가요? [진행중] [2]
김찬수
2004-09-13
2629
1547Datediff 대신에 쓸 수 있는 query문이 무엇일까요 [1]
이민
2004-09-13
2905
1546초보자입니다!!
김종갑
2004-09-12
2160
1545가격/시세 쿼리문에 대한 질문입니다....!!도움부탁"" [1]
장재호
2004-09-11
3222
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다