그렇지 않습니다.
Index Object에는 해당 record의 Block정보를 포함하는 rowid만을 저장합니다.
그러므로 생성된 Index를 사용하지 않으,면 입력된 순서로만 보여지게 됩니다.
다시 설명드리자면 테이블에
1009 abc 55555555
1001 bcd 77777777
0009 dsd 66666668
가 입력순서대로 입력되었다면
첫번째 필드에 인덱스가 걸려있어도 위 순서대로 나타납니다.
순서가 중요하다면 준비된 데이타 화일을 먼저 소트해서 입력하는 방법을
고려해 보시기 바랍니다.
위 예에서 앞서 설명드린것과 같이 Index segment에는 첫번째 레코드에 대한
block(block의 크기는 O/S마다 다릅니다) 정보(저장된 Block번호), Block내의
위치, data file의 file-id e등을 포함하는 rowid만을 가집니다.
인덱스를 사용하게 되면 Index Segment에서 B+Tree등의 알고리즘으로 키를 찾은 후
rowid읽어와서 해당 데이타 테이블에 직접 찾아가는 방법을 사용하는 것입니다.
사용하신 Primary키는 데이타 중복을 피하기 위해 사용되어야 하는 제약사항이고요.
물론 sort는 기본입니다만....
답이 되었으면 하는 바램입니다....
좋은 프로그램이 나오기를....
|