#title 디자인 튜닝 [[TableOfContents]] ==== 개요 ==== 데이터베이스 디자인 튜닝은 그 효과도 좋을 뿐만 아니라 개발의 속도를 높이고, 프로젝트 관계자들의 의사소통을 원활하게 만들어주는 역할을 한다. 데이터베이스의 성능 영향 요인 중 가장 많은 비중을 차지하는 것은 ‘데이터의 중복’이다. 데이터가 중복되어 있다는 것은 데이터가 중복된 만큼 저장 공간을 더 필요로 하는 것이며, 이를 처리하기 위해 메모리가 더 많이 필요하다는 것이며, 또한 연산장치인 CPU는 처리해야 할 것이 더 많이 있다는 것을 의미한다. 필요에 따라서는 중복도 필요하며, 적절한 통합도 필요하다. 최적의 결과를 만들어내기 위해서는 성능과 유연성(통합성) 및 단순성이 필요하다. 디자인 튜닝은 이걸 이렇게 하라는 내용도 있을 테지만 데이터 모델링과 설계에 대한 기본개념이 주를 이룰 것이다. 주로 개체,관계,속성에 대한 이야기를 할 것이다. 먼저 설계가 물리적으로 어떤 영향을 미치는지 살펴보고, 데이터 모델링에 대해서 살펴보도록 하자. 데이터 모델은 개념적인 것이지만 개념 모델을 논리/물리 모델로 만드는 것은 매우 쉽기 때문에 대부분 개념 모델링에 대한 이야기를 할 것이다. 또한 개념에서 물리적인 구현까지 어떻게 연결되지도 살펴볼 것이다. 그러므로 통합적인 지식이 필요할 수도 있다. 모르겠다면 그냥 넘어가고 공부후에 다시 보았으면 한다. ==== 제공되는 내용들 ==== * [끼워넣기] * [http://www.sqlservercentral.com/articles/editions/88074/ Indexed Views In Non-Enterprise Editions of SQL Server] * [http://www.sqlservercentral.com/articles/SSD+Disks/69693/ Solid State Disks and SQL Server] * [관계를 끊어야 하는가] * [http://www.simple-talk.com/sql/performance/high-performance-storage-systems-for-sql-server/ High Performance Storage Systems for SQL Server] * [모델링과 설계의 중요성] * [엔터티 집합의 상호배타성] * [화면마다 테이블을 1개씩] * [데이터 복제에 대한 이슈] * [정규화와 물리적인 요소] * [현상을 없애지 말고 원인을 없애라] * [컬럼과 로우의 이해] * [Char vs Varchar] * [직책/직무/직급] * [Hash의 이용] * [Index Tuning Wizard와 Index Design] * [질의 적중률] * [유저에 대한 고찰] * [약 엔터티 집합과 식별자 관계] * [SQL Server 미러링의 성능 요소] * [시작 ~ 종료 형태에서의 인덱스 정렬 순서에 따른 성능 영향 요소] * [SSIS의 DataReader원본을 사용하여 MySQL 접근(ODBC)시 성능 문제 발생] * [Packed Data Type] * [SSIS 조회변환 Cache Sizing] * [Primary Key에 Hash 적용] * [Flat파일 압축 보관 방법] * [http://support.microsoft.com/kb/889654 Windows Server 2003 또는 Windows XP의 64비트 버전에서 적절한 페이징 파일 크기를 결정하는 방법] * [복합속성 문제] * [전자결제 성능저하 문제] * [관계를 끊는 것에 대하여] * [관계에 대한 이해와 4차 정규화] * [Bottom-Up 방식으로 모델링해보기] * [http://www.mssqltips.com/tip.asp?tip=2148 Re-benchmarking SQL Server IO after partition offset and allocation unit changes] * [데이터 모델링과 국어사전] * [Disk 분산] * [로그 파일의 경합] * [Performance Counter] * [최적화의 우선순위] * [SQL Server TempDB] * [http://www.sqlservercentral.com/articles/powershell/68011/ Database Space Capacity Planning] * [SSIS OLEDB vs ADO.NET] * [Disk partition alignment] * [링크드 서버 사용시 실행계획이 좋음에도 불구하고 느릴때]