인덱스 4

SQL Server 2016 대용량 데이터 로드시 최소 로깅(minimal logging) 과Batch Size

SQL Server 2016 대용량 데이터 로드시 최소 로깅(minimal logging) 과Batch Size · Version : SQL Server 2016 SQL Server에서는 대용량 데이터를 로드(bulk load)할때 시스템의 오버헤드를 줄이기 위해 최소 로깅(minimal logging)을 사용한다. 최소 로깅에 대해서는 아래 링크를 참고한다. · Bulk Import Optimizations (Minimal Logging) : https://blogs.msdn.microsoft.com/sqlserverstorageengine/2008/02/04/bulk-import-optimizations-minimal-logging/ SQL Server 2016에서는 최소 로깅의 기능 개선 일부로 인..

MySQL/MariaDB Cluster Index

MySQL/MariaDB Cluster Index · Version : MySQL / MariaDB 인덱스에서 클러스터링은 값이 비슷한 것을 묶어서 저장하는 형태로 구현된다. 이 방법은 주로 비슷한 값들을 동시에 조회하는 경우가 많다는 점에 착안한 것이다. MySQL에서는 InnoDB 스토리지엔진에서 클러스터링 인덱스를 지원한다. (인덱스는 MySQL엔진이 아닌 스토리지 엔진이 담당한다) 클러스터링 인덱스(키 클러스터)는 테이블의Primary key(이하 PK로 표시)에 대해서만 적용되는 내용이다. 즉 PK 값이 비슷한 레코드끼리 묶어서 저장하는 것을 클러스터링 인덱스라고 표현한다. 중요한 포인트는 PK 값에 따라 레코드의 저장 위치가 변경되는데 이 뜻한 해당 레코드의 물리적인 저장 위치가 바뀌어야 한다..

MySQL, MariaDB 2019.03.24

인덱스 상세 정보 확인

인덱스 상세 정보 확인 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 테이블 또는 뷰의 인덱스에 관한 정보를 확인하기 위해서 sp_helpindex를 많이 사용한다. Sp_helpindex는 SQL Server 2005부터 지원하고 있다. use AdventureWorks2012 go exec sp_helpindex 'Sales.SalesOrderdetail' 열 이름 데이터 형식 설명 Index_name Sysname 인덱스 이름 Index_description Varchar(21) 인덱스가 있는 파일 그룹을 포함하는 인덱스 설명 Index_keys Nvarchar(2078) 인덱스가 만들어진 테이블 또는 뷰의 열 Sp_helpindex의 경우 기본 정보만..

601 Error, Could not continue scan with NOLOCK due to SQL Server data Movement

601 Error, Could not continue scan with NOLOCK due to SQL Server data Movement 메시지 601, 수준 12, 상태 3, 프로시저 usp_SQLMVP, 줄 23 데이터 이동으로 인해 NOLOCK으로 계속 검색할 수 없습니다. Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 데이터 조회 프로시저 호출에서 다음과 같이 601 에러가 발생 하였다. 601 에러는 어떨떄 발생 할까? 601에러는 READ UNCOMMITTED, NOLOCK 힌트를 사용하여 데이터를 조회 할 때 하나 이상의 데이터가 페이지가 없기 때문에 발생한다. 페이지 분할로 이동했거나 페이지가 삭제되었을 경우 발생 한다. 즉 SQL Serv..