index 3

MySQL/MariaDB Cluster Index

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

MySQL, MariaDB 2019.03.24

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..

인덱스 생성

인덱스 생성 Version : Mariadb 5.5.4.2-WinX64 테이블에 생성된 인덱스 확인. (SQL Server에서는 sp_helpindex object_table) show index from user; Uid2 컬럼에 인덱스 생성 (SQL Server 동일) create index IX_user_uid2 on user (uid2); Uid2 컬럼에 인덱스 삭제 (SQL Server 동일) drop index IX_user_uid2 on user; 복합 인덱스 만들기 (여러 컬럼을 묶어 인덱스를 만든다.) SQL Server와는 다르게 복합 인덱스 경우 복합키에 사용된 컬럼의 수만큼의 인덱스가 생성되어 나타난다.. create index IX_user_uid_uid2 on user (uid,..

MySQL, MariaDB 2015.07.16