반응형

WorkaHolic 242

MSSQL 테이블의 컬럼에는 주석을 달아라

[좋은 개발자로 가는 길] 테이블의 컬럼에는 주석을 달아라 2009.3.11 한용희 DB 테이블을 설계하여 DB에 실제 물리적인 구현을 할때, 보통 설명이나 주석은 달지 않는 경우가 많다. 하지만, Microsodt SQL Server도 그렇고 Oracle도 그렇고 대부분의 DB에는 테이블의 컬럼에 주석을 넣을 수 있는 기능이 있다. 이곳에 그 컬럼에 대한 설명이나 내용을 적어 두면 나중에 테이블에 대한 논리적인 모델을 참조하지 않고서도 간략하게 이 테이블이 뭐고 이 컬럼이 무엇을 의미하는지 알아낼 수 있다. 특히 비영어권 국가인 한국에서는 컬럼명을 대부분 영어로 기술하기 때문에 이 컬럼이 무엇을 의미하는지 직관적으로 와 닿지 않는 경우가 있다. 따라서 이러한 주석을 적극적으로 활용하는 것이 좋은 방법이..

WorkaHolic/ORACLE 2010.04.08

MSSQL 500만건 랜덤 데이타 생성하기

1. 500만건 데이타 만들기 -- 테이블 생성 CREATE TABLE random_data ( col1 int PRIMARY KEY IDENTITY(10,10) NOT NULL, col2 int NOT NULL DEFAULT CASE -- Random integer between -9999 and +9999 WHEN CONVERT(int, RAND() * 1000) % 2 = 1 THEN (CONVERT(int, RAND() * 100000) % 10000 * -1 ) ELSE CONVERT(int, RAND() * 100000) % 10000 END, col3 char(15) NOT NULL DEFAULT CHAR((CONVERT(int, RAND() * 1000) % 26 ) + 65) -- 65 ..

WorkaHolic/MSSQL 2010.04.08

SQL Server for Developer: 개발자를 위한 튜닝 가이드 _ 2/2

SQL Server for Developer: 관리자를 위한 튜닝 가이드 인덱스 수칙1. 적절한 인덱스가 걸려있는가? (I/O 가 많은 경우 실행 계획 재검사) 수칙2. 인덱스 튜닝마법사로 점검했는가? 수칙3. 상황 발생시 인덱스 채우기 비율을 조정하는가? 6. 인덱스 번호 수칙 체크 1 적절한 인덱스가 걸려있는가? (I/O 가 많은 경우 실행 계획 재검사) 2 인덱스 튜닝마법사로 점검했는가? 3 상황 발생시 인덱스 채우기 비율을 조정하는가? 수칙1.적절한 인덱스가 걸려 있는가? 적절한 인덱스가 걸려있는지 인덱스 튜닝마법사로 확인할 수 있습니다. 또는 CTRL + K로 실행계획을 관찰 해도 됩니다. 인덱스를 만들어야 하는 장소 가. 참조키 나. 참조키가 아니더라도 join에 빈번히 사용되는 경우 다. s..

WorkaHolic/MSSQL 2010.04.08

SQL Server for Developer: 개발자를 위한 튜닝 가이드 _ 1/2

SQL Server for Developer: 개발자를 위한 튜닝 가이드 본 튜닝 가이드는 경험 있는 SQL관리자와 초보자 모두에게 도움이 되도록 기초부터 고급까지 튜닝에 꼭 필요한 내용을 최대한 쉬운 예제를 통해 기술했습니다. 예제는 쉽더라도 그 내용은 무척 중요하므로 꼭 따라 하면서 본 튜닝 가이드를 실습하여 봅시다. 쿼리 디자인 수칙1. SELECT는 필요한 결과값만을 요구하는가? 수칙2. 적절한 WHERE조건을 사용하는가? 수칙3. COUNT(컬럼명) 대신 COUNT(*)을 사용하는가? 수칙4. 커서 및 임시 테이블의 내용을 최대한 자제하는가? 수칙5. VIEW의 총 사용을 줄였는가? 수칙6. 저장 프로시저를 사용하는가? 수칙7. 저장 프로시저를 적절하게 리컴 파일 하며 사용하는가 ? 수칙8. 작..

WorkaHolic/MSSQL 2010.04.08

MSSQL TIP

개발 팁 • ANSI JOIN 및 이전의 OUTER JOIN 구문 • 집합 기반으로 특정 행을 검색하는 방법 • 대량 복사 프로그램 유틸리티 • 재컴파일을 방지하도록 소유자 접두사 코딩 • 단방향 병합 복제 구성 • Access 데이터를 XML로 변환 • 계산 열에서 UNIQUE 및 PRIMARY KEY 제약 조건 만들기 • 차단된 연결 검색 • 종속성 표시 • 업데이트를 여러 일괄 처리로 분리 • 쿼리 최적화 프로그램에서 통계를 사용하는 방법 • XML 파일 가져오기 • WHERE 절에 변수 포함시키기 • 인라인 또는 포함된 SQL 및 저장 프로시저 • SQL Server 2000, 7.0 및 6.x에서 char 값 관리 • 쿼리 결과 임의 정렬 • Visual Basic 6.0에서 SQL Server..

WorkaHolic/ORACLE 2010.04.08

MySQL로 프로시저 작성시 주의사항

프로시저 내부 변수는 테이블 필드명과 반드시 구분을 해야 한다. DECLARE user_Exp INT DEFAULT 0; SELECT user_exp INTO user_Exp FROM TB_USER WHRER user_id = p_user_id; 문자열 붙이는건 CONCAT 을 이용하자.. 숫자같은 문자는 걍 더해버리는 문제 -_-;; 프로시저의 OUT 존재시 PDO 에러 꼼수 인지 아닌지 모르지만..해결책 function _setTest( $prm1, $prm2 ){ $this->arrData = null; $this->sql = "call usp_setTest(?,?,@dbErr)"; $stmt = $this->db->prepare($this->sql); $stmt->bindParam(1, $prm1..

WorkaHolic 2010.04.08

MySQL Index

[MySQL] 인덱스 생성, 조회 카테고리 : 재미없는 것들. http://blog.paran.com/psycho/9148016 인덱스 만들기 1. 추가하여 만들기 CREATE INDEX ON ( 칼럼명1, 칼럼명2, ... ); 2. 테이블 생성시 만들기 끝에.... INDEX ( 칼럼명1, 칼럼명2 ) UNIQUE INDEX ( 칼럼명 ) --> 항상 유일해야 함. 3. 이렇게도 생성한다 ALTER TABLE ADD INDEX ( 칼럼명1, 칼럼명2, ... ); 4. 인덱스 보기 SHOW INDEX FROM ; 5. 인덱스 삭제 ALTER TABLE DROP INDEX ; [출처] [MySQL] 인덱스 생성, 조회 |작성자 진카자마

WorkaHolic 2010.04.08

MSSQL2005 Try ~ Catch 에러 모니터링

calmryu님의 블로그 | calmryu http://blog.naver.com/calmryu/70028455506 개발 과정이나 서비스 중에 있는 데이터베이스에서 발생하는 에러를 테이블로 관리하여 실시간 집계 및 분석을 위한 스크립트이며 AdventureWorks 에 있는 sp 를 수정하였습니다. ^^ /*------------------------------------------------------------ title : MS-SQL2005 - Try Catch를통한구조화된에러처리 description : error log를테이블로관리하여보여주자. SQL2000 에서사용하는에러처리는모든구문마다@@error 를받아서처리해주고 goto 문을사용하는등구조적이지못한방법으로처리했는데 SQL2005에사용되..

WorkaHolic/MSSQL 2010.04.08

MSSQL JOIN METHOD

꿈이 현실로... | 구운계란 http://blog.naver.com/ssayagain/90036001354 조인 방식 (Join Method) MS SQL에서 지원하는 조인 메소드에 대해 알아보자. 1. 들어가며 MS SQL에서 지원하는 물리적인 조인 방식에는 크게 3가지가 있다. ① 중첩반복(Nested Loops) ② 정렬병합(Sort Merge) ③ 해시매치(Hash Match) 이중 Nested Loops와 Sort Merge는 어느 DBMS든 가장 전통적인 조인 방식이고 서로간의 단점을 보완하고자 나왔다. Hash Match의 경우는 위의 두 조인 방식의 단점을 보완하고자 나온 방식이다. 그렇다면 Nested Loops와 Sort Merge의 장점, 특징 등을 알아보고 두 조인 방식의 단점이 ..

WorkaHolic/MSSQL 2010.04.08

MSSQL2005 INDEX

꿈이 현실로... | 구운계란 http://blog.naver.com/ssayagain/90035554900 글을 마지막으로 남긴게 어언 6월달이던가...에거~ 개발일은 해도해도 끝이 없는거 같다. 설계 단에서 커버 됐을 일을 프로그램으로 몽땅 커버하는 일을 해봤는가...눈물이 난다. 데이터아키텍처란게 그래서 중요한걸 안다. 설계뿐 아니라 기획에서 개발까지 전사적으로 아우르는 정보 아키텍처는 눈물이 날만큼 중요하다는걸 매순간 깨닫게 만들어주니 고마워 해야 하는건지...... DB를 다루는 일은 언제나 즐겁다. 그래서, 개판 오분 전인 DB를 볼때마다 화가 난다. 시간에 쫓겨 그 걸 바꾸지도 못하고 내가 하고픈 일이 DBA인지 프로그래머인지 구분하기 힘든 환경도 역시... 이런 말이 있으니... 설계자여!..

WorkaHolic/MSSQL 2010.04.08
반응형