DB 는 데이터를 그냥 insert 순서대로 저장하는건가요?
글쓴이: 익명 사용자 / 작성시간: 일, 2024/03/10 - 5:40오후
데이터베이스 공부중입니다
저는 디비의 데이터들은 모두 정렬된 상태로 저장되어 검색 성능을 빠르게 하는줄알았는데
"insert 순서대로 그냥 저장한다"
"중간중간 비어있는공간에 저장한다"(하드디스크 단편화와 비슷한듯)
검색해보니 이런 글들을 봤습니다
많은 양의 데이터를 insert 할때마다 새롭게 정렬하는게 비효율적이라 그냥 정렬하지 않고 저장하는것같은데
그냥 select 를 하면 풀스캔을 하게되니 인덱스를 사용하는걸로 추측을 해봅니다
이 추측이 맞는건지 궁금합니다
Forums:
database.sarang.net 에 물어보면 좋을
database.sarang.net 에 물어보면 좋을 것 같아요.
세벌 https://sebuls.blogspot.kr/
'데이터들은 모두 정렬된 상태로 저장되어 검색 성능을
'데이터들은 모두 정렬된 상태로 저장되어 검색 성능을 빠르게 하는줄알았는데'
저는 익명님 보다 더 모르는 사람이지만 저 걸 하는 기능이 데이터베이스 스키마 만들 때 특정 컬럼에 (예를 들면 이름?) 인덱스를 설정하면 (기술적으로 어떻게 구현되는지는 모르겠으나) 해당 컬럼을 기준으로 검색을 할 때 더 빠르게 결과값을 보여준다? 정도로 알고 있습니다.
어떤 컬럼에 인덱스를 설정하면 정렬되어진 인덱스를 저장하기 위해서 추가적인 저장 공간이 필요하다.
요정도만 알고 있네요.
Non Clustered Index는 정렬 정보를
Non Clustered Index는 정렬 정보를 저장하기 위한 추가적인 공간이 필요합니다.
Clustered Index는 데이터를 저장할 때 아예 정렬해서 저장하기 때문에 따로 추가적인 공간이 필요하지 않습니다.
----
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.
그냥 되는대로 넣습니다.
논리적으로 생각해보면 따로 인덱스가 존재한다고 해도
인덱스를 이용해 정렬하는 거지 Insert 할때 그럴필요는 없죠
고로 넣는건 DB 맘이라 정렬되어 들어가지 않습니다.
------------------------------------------------------------
ProgrammingHolic
클러스터드 인덱스(가 있다면) 순서대로 데이터를 정렬해서 저장합니다.
설정을 어떻게 하느냐에 따라 다릅니다.
클러스터드 인덱스(Clustered Index)가 설정되어 있다면 그 순서대로 데이터를 정렬해서 저장합니다. Insert 순서대로 저장하는 것이 아니라.
----
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.
댓글 달기