분류 전체보기 132

순차 미리 읽기

오늘 다룰내용은 순차 미리 읽기 입니다. 미리 읽기는 쿼리 실행 계획을 수행하는 데 필요한 데이터 및 인덱스 페이지를 예상하고 페이지가 쿼리에서 실제로 사용되기 전에 가져오는 작업을 말합니다. 대부분 (대량)범위검색 및 테이블스캔, 통계 재작성등 예상이 가능한 조건들에서 미리읽기가 발생합니다. 예를들면 이런거죠. 대량의 순차데이터 검색시 " 앞에 데이터도 필요하겠는걸, 온김에 미리 가져가야지.." 아래는 미리읽기와 관련된 기반지식입니다. CPU와 I/O 처리량의 균형은 하드웨어 활용도를 높이는 필수적인 사항인데요. 디스크 I/O가 CPU 처리수용량을 능가해서도, 부족해서도 안됩니다. 불균형시 시스템 낭비로 이어질수 있기 때문입니다.(물론 시스템특성상 그렇지 않은 경우도 다수 존재합니다.) 또한 비동기 I..

MS-SQL Server 2011.02.24

엑셀을 활용한 쿼리 만들기 (게임 아이템 등록하기 사례)

업무를 하다보면 텍스트 파일이나 엑셀파일에 있는 데이터를 데이터베이스에 입력해야 하는 경우가 종종 있습니다. SQL Server에서는 외부 데이터를 DB에 넣기 위해서 Openquery, 데이터가져오기, bcp, SSIS 등 다양한 방식을 제공하고 있습니다. DB 기술이 아닌 엑셀을 활용하여 insert 쿼리를 쉽게 만들 수 있는 방법이 있어 소개드리고자 합니다. 게임 아이템 10개를 등록해야 한다고 가정하고 작업 과정을 한번 정리해보겠습니다. 1. 게임 아이템 리스트를 개발팀에서 엑셀로 전달 받음 2. 엑셀의 CONCATENATE 함수를 사용하여 인서트 쿼리를 만든다. 3. 엑셀에 만들어진 insert 쿼리를 복사하여 DB에 저장한다. 사용하는 경우에 따라서 틀리겠지만, 제 경험상으로 보면 동일한 포맷..

MS-SQL Server 2011.02.23

[펌/Tip]SQL Server 2012 (Denali) SSMS 쿼리 편집기 분리 기능

SQL Server 2012부터 SSMS에서 쿼리 편집기나 object Explorer가 분리 가능하게 되었습니다. 모니터 화면이 크거나 듀얼 모니터를 사용하는 경우 유용할 듯 하여 소개드립니다. 추가적으로 하나 더 이야기드리면, SSMS를 실행시키면 약 100M를 차지합니다. 어떻게 보면 적은 용량이지만 굳이 불필요한 메모리를 낭비할 필요 없으니 서비스 장비에서는 사용 후 바로 종료시키는 것이 어떨까합니다. [출처] http://blog.sqlauthority.com/2011/01/24/sql-server-2011-multi-monitor-ssms-windows/

MS-SQL Server 2011.02.17

APPLY 연산자 소개 및 사례 공유 (게시물 리스트 화면에서 각 게시물별 최근 댓글 3개씩 가져오기)

최근에 프로젝트 진행하면서 APPLY 연산자를 적용해볼만한 사례가 있었습니다. 간단히 APPLY 연산자에 대해서 소개를 드리고, 테스트했던 내용을 보기로 하겠습니다. BOL 내용을 바탕으로 APPLY 연산자에 대해서 간단히 소개드립니다. (BOL에서 발취) APPLY 연산자를 사용하면 쿼리의 외부 테이블 식에서 반환한 각 행에 대해 테이블 반환 함수를 호출할 수 있습니다. 테이블 반환 함수는 오른쪽 입력이 되고 외부 테이블 식은 왼쪽 입력이 됩니다. 오른쪽 입력은 왼쪽 입력의 각 행에 대해 평가된 후 생성된 행이 조합되어 최종 출력에 표시됩니다. APPLY 연산자에 의해 생성되는 열 목록은 왼쪽 입력의 열 집합 뒤에 오른쪽 입력에서 반환된 열 목록을 추가한 것입니다. APPLY 연산자에는 CROSS AP..

MS-SQL Server 2011.02.07

집계 연산

집계연산 집계처리시 실행계획을 확인해 보면 스트림집계연산자와 해시집계 연사자를 볼수 있습니다. 이들이 어떻게 다르고 어떻게 처리되는지 알아 보겠습니다. 먼저 집계처리시 스트림집계는 한번에 하나의 그룹만을 계산하지만, 해시집계는 동시에 모든 그룹을 계산합니다. 이러한 그룹들은 해시테이블에 저장돼 처리 되는데요. 아래는 해시알고리즘에 대한 코드입니다.(해시에대한 자세한 내용은 따로 언급 하지 않겠습니다.) for each input row begin calculate hash value on group by column(s) check for a matching row in the hash table if we do not find a match insert a new row into the hash tab..

MS-SQL Server 2011.02.01

[TIP]데이터 이동 없이 개발환경을 서비스와 동일하게 구성하기 (테이블 통계 데이터 복사)

블로깅하다가 유용한 기능이 눈에 띄여서 공유합니다. 아래의 출처로 가면 좀 더 상세한 정보나 사례를 보실 수 있습니다. 보안 이슈나 운영 정책으로 인하여, 서비스 장비에 접근할 수 없고, 실 데이터 역시 제공 받지 못하는 경우가 있습니다. 이러한 경우 테이블에 데이터가 저장된 패턴을 모르기 때문에 어떤 실행계획을 풀리는지 검증하기가 쉽지 않습니다. 또, 이슈가 있는 경우 어떻게 실행계획이 풀리고, 어떻게 하면 해결되는지 테스트 해보기도 힘들구요. 이러한 경우 아래와 같이 데이터베이스 스크립트 생성을 할 때, 통계 및 히스토그램 데이터까지 받으면 좀 더 실서비스 환경에 유사한 환경에서 테스트를 해볼 수 있습니다. 장황하게 설명을 적었는데요, 내용은 아래와 같이 아주 간단합니다. ^^ 1. "스크립트 생성 ..

MS-SQL Server 2011.01.31

OS 버전에 따른 SQL 서버에서 지원하는 최대 메모리 크기

각 OS별로 각 SQL 버전에서 지원하는 최대 메모리 입니다. 정리 해놓으면 좋을 듯 하여 올려 둡니다. Windows Server (32bit ) OS WINDOWS(32BIt) 2003(SP2) 2003(R2) 2008 STD ENT STD ENT STD ENT OS (Max CPU soket) 4 8 4 8 4 8 OS (Max Memory) 4 64 4 64 4 64 SQL SERVER (32BIT Max Memory) STD 2K(SP4) 4 64 4 64 4 64 2K5(OS MAX) 4 64 4 64 4 64 2K8(OS MAX) 4 64 4 64 4 64 2K8(R2) 64GB(MAX) 4 64 4 64 4 64 ENT 2K(SP4) 4 64 4 64 4 64 2K5(OS MAX) 4 64..

MS-SQL Server 2011.01.18

데이터를 선분으로 관리하는 테이블 조회성능 최적화 사례 (IP 관리 예제)

사용중인 IP리스트를 DB를 사용하여 관리하고 싶을 때, 보통 2가지 방식으로 관리가 가능합니다. 항 목 1안. 사용중인 IP를 개별적 저장하여 관리 2안. 사용중인 IP영역을 선분으로 저장하여 관리 방 식 1. 컬럼 리스트 : (IP) 2. 데이터 예 (192.168.1.1) (192.168.1.2) … (192.168.1.125) (192.168.20.1) 1. 컬럼 리스트 (IPFrom, IPTo) 2. 데이터 예. (192.168.1.1, 192.168.1.125) (192.168.20.1, 192.168.20.1) 장 점 대상 IP를 바로 확인 가능하므로 직관적이다? 대상 IP가 많을 경우도 빠른 등록이 가능합니다. 단 점 총 IP 개수는 4,228,250,625개입니다. 대상 IP가 많아질수록..

MS-SQL Server 2011.01.13

[툴소개]SSMS Tools Pack (freeware)

SSMS 사용하는데 유용한 툴이 있어 공유드립니다. 아래의 사이트에 자세하게 기능에 대해서 자세히 설명되어 있습니다. 그 중에서 제가 맘에 들었던 기능 간단히 소개드립니다. SQL Server 2011 CTP1에서도 사용 가능합니다. 1. 쿼리 기본 문구를 약자로 생성하는 기능 2. 실행한 쿼리 기록 보기 3. 실행계획 이미지로 캡쳐해주기 4. 가장 맘에 드는 것은 각 서버별로 접속할 때 서버별로 색상을 지정할 수 있다는 겁니다. 색을 넣어두면 개발서버인 줄 알고 실수하는 경우를 줄일 수 있지 않을까합니다. 아래는 같은 서버에 인스턴스명으로 접속(좌)한 경우와 (local)(우)로 접속했을 때의 차이를 보여줍니다. 출처 : http://www.ssmstoolspack.com/

MS-SQL Server 2011.01.03

[툴소개]SQL Sentry Plan Explorer v1.1

SQL Server의 실행계획을 XML, 이미지, 텍스트등 다양한 행태로 볼 수 있는 툴이 있어 공유드립니다. (프리웨어입니다. ^^) 자세한 내용은 아래의 URL을 참고 부탁드립니다. 1. http://www.sqlsentry.net/plan-explorer/sql-server-query-view.asp 2. http://sqlblog.com/blogs/aaron_bertrand/archive/2010/12/22/sql-sentry-plan-explorer-version-1-1.aspx UI는 아래와 같습니다. 여러가지 형태로 바로바로 전환해서 볼 수 있어 좋네요.

MS-SQL Server 2010.12.23