![[MsSQL] Clustered 연구 노트 - 1. Heap Table 구조 파헤치기 (Page, Index)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqPCeZ%2FbtsFt57I0aS%2FIY38q9M9FI2DfxU415UrL1%2Fimg.png)
MsSQL Clustered 연구 노트 MsSQL의 테이블은 2가지 데이터 저장 자료구조를 가지고 있다. 하나는 데이터를 비어있는 Page에 데이터를 담는 Heap 구조와 Clustered Key 값을 가지고 정렬하여 저장하는 Clustered 구조를 가지고 있다. 이번에 작성하는 MsSQL Clustered 연구노트에는 Heap과 Clustered의 데이터가 저장되는 자료구조와 각 구조의 차이에 대해서 한번 Page단위까지 찾아가 보도록하겠다. 테스트를 위해 파일 그룹과 ndf파일을 분리하여 생성하였다. Table을 위치할 DATA 파일 그룹과 Index를 각각 위치시킬 INDEX_01 ~ INDEX_03 파일 그룹을 생성하여, 데이터의 변화 과정에 대해서 확인해보도록 하겠다. Test Table 만들..
![[Ignite] Index - 생성부터 실행 계획과 힌트까지 인덱스의 모든 것](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPKMWq%2FbtsFlPqjeDO%2FuQNZpeaICqNWVYfMsS1B91%2Fimg.jpg)
Ignite Index Apache - Ignite도 여타 Database와 마찬가지로 Index가 있다. Index도 Memory 영역에 위치하여 조회에 사용된다. Index를 만들고 사용하는 방법에 대해서 간략하게 설명 및 테스트를 해보자. Index DDL 기본적으로 Ignite 는 Key - Value 구성으로 PK는 테이블 생성시 함께 생성해야한다. 추가적인 인덱스에 대해서는 따로 아래와 같이 생성 및 삭제를 할 수 있다. -- index 생성 create index [INDEX NAME] on [TABLE NAME] ([COLUMN 1], [COLUMN 2] ...); -- index 삭제 drop index [INDEX NAME]; 실행계획 EXPLAIN 쿼리 최적화를 위해 실행계획을 확인 ..
![[DBA][MsSQL] Index 사용량 조회 / 미사용 Index 확인](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKL1iN%2FbtsEkQ6G6Ay%2F4ROVpLZLW5a3CI6xZlDFlk%2Fimg.png)
자주 쓰는 쿼리 - Index 사용량 조회 테이블 조회 효율을 위해 인덱스를 생성하여 사용하는 것은 당연하다. 하지만 시간이 지나고 업무 계획의 방향성이 바뀌다보면, 이렇게 생성하여 사용하던 인덱스들 중 사용하지 않게 되는 인덱스가 생길 수 있다. 이렇게 사용하지 않는 인덱스를 한번씩 정리를 해주게 된다면, 테이블의 DML작업에 대해 효율이 조금이나마 올라갈 수 있게 되는데, 이럴 때 도움이 될 만한 인덱스 사용량 조회 쿼리에 대해서 한번 소개해보도록 한다. Query 인덱스 사용량을 조회하는 쿼리는 아래와 같다. use [DATABASE NAME] select db_name(s.database_id) as database_name, object_name(s.object_id) as table_name,..
![[Oracle][Error] ORA-01502: 인덱스 'PK_Name' 또는 인덱스 분할영역은 사용할 수 없는 상태입니다.](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuuL2w%2Fbtsn1bDZf43%2FJk21u6K9pkajC7uV8BZU6k%2Fimg.png)
Intro 안녕하세요. 초보 DBA 다뉴입니다. 오늘 갑자기 Schedule걸어둔 작업에 갑자기 오류가 났습니다. ORA-01502: 인덱스 'PK_Name' 또는 인덱스 분할영역은 사용할 수 없는 상태입니다. 라는 에러 메시지가 출력되었는데요. 한번 알아보도록 하겠습니다. 어떤 오류? ORA-01502: 인덱스 'PK_Name' 또는 인덱스 분할영역은 사용할 수 없는 상태입니다. 이러한 메시지가 출력되며, 데이터 Insert, Update, Delete를 할 수 없는 상태가 되었습니다. select은 정상적으로 되었네요. 이유는? 금일 데이터베이스 관리 작업 중에 해당 테이블에 TableSpace를 변경하였습니다. 제 생각에는 이 작업이 문제였다고 생각되네요. 저는 Index에 대해서는 따로 Index..