index
-
[Database] - IndexCS/DB 2022. 10. 3. 23:09
Index Table Address를 미리 저장하면 Mapping 하여 주는 개념 논리적/물리적으로 테이블과 독립적 Table Scan(Full scan)을 하게 되면 O(N)이 들게 되는데 이를 더 효율적으로 탐색하기 위한 방법 O(LogN) RDBMS에서 검색 속도를 높이기 위함 Index는 B-Tree(Balance Tree) Join, Where에서 Index가 주로 사용되어 쿼리의 검색 속도를 빠르게 하는데 목적을 가진다. Delete,Insert,Update 쿼리에는 Index 사용시 오히려 느리다. Insert Block에 여유가 없다면, 새로운 Block 할당 후 Key 옮기는 작업 수행 Index Split 작업 동안, 해당 Block Key 값에 대해 DML이 Blocking -> Wa..
-
[Python] - List개발/Python 2022. 7. 27. 01:28
List 원소들이 연속적으로 저장되는 형태의 자료형입니다. mutable -> reallocate 할 필요 X 1. 원소 추가 # List 끝에 element 추가 / O(1) list.append(x) # List 끝에 iterable 추가 / O(len(iterable)) list.extend(iterable) # 주어진 i 위치에 항목에 삽입 / O(N) list.insert(i, x) 2. 원소 제거 # delete x's first element / 없다면, ValueError # O(N) list.remove(x) # delete index element / return Value # pop() = O(1) pop(i) = O(N) list.pop([i]) # delete List all el..
-
INDEX 조각화( Rebuild , Reorganize )CS/DB 2022. 3. 4. 19:12
PAGE SPLIT INSET , UPDATE 동작이 발생 시 여유 공간의 부족으로 페이지 변화가 일어나는 것 저번에 올린 부분과 같이 PAGE = SQL Server 기본 I/O 단위 / 1Page = 8KB = 8016byte / 8page = 1Extent CREATE TABLE PageSplitTest ( --int: 4byte / --nchar(1000) 2,000byte Id int not null , TextChar nchar(1000) not null ) GO --클러스터형 인덱스 생성 CREATE CLUSTERED INDEX CL_ID ON PageSplitTest (Id) GO --하나의 row당 4 + 2000 = 2,004byte --1Page(8KB) = 8192byte --4개의..