2012-09-11 3 views
1
  1. MYISAM 테이블 유형 또는 엔진 - 각 테이블에 대해 디스크에 3 개의 파일을 생성합니다. 변경 얻을 나는 위의 파일이 이미 존재하는 테이블의 새로운 인덱스를 작성하는 경우 데이터 구조 .FRMMysql 인덱스 사용

  2. 에 대한

    1. 인덱스 .MYI 에 대한
    2. 을 .MYD?
  3. 색인을 만들 때 테이블의 데이터에는 정확히 무엇이 발생합니까? 테이블의 레코드가 인덱싱 된 열에 대해 chenged가됩니까?

  4. name = aaass, salary = 40500으로 레코드를 삽입하면 레코드가 저장된 위치는? 결국? 또는 우리가 색인을 만들었을 때, 그것은 이름 = aaab을 저장합니다.

예컨대 표는 다음과 같이 데이터가 rearraged됩니다 않습니다

id name salary 
1 aaa 20000 
2 ddd 23000 
3 aaabb 10000 
4 dddqa 40000 

나는 이름에 인덱스를 만들 경우

입니까?

id name salary 
1 aaa 20000 
3 aaabb 10000 
2 ddd 23000 
4 dddqa 40000 

그렇다면 색인을 어떻게 사용합니까? 당신이 .frm이 테이블 정의에서 새로운 인덱스를 업데이 트하고 myi 파일이 새로운 인덱스 트리로 업데이트 얻을 것이다으로 .frm.myi 파일이 업데이 트해야 다음 이미 존재하는 테이블에 대한 새 인덱스를 생성하는 경우

+1

InnoDB를 사용하고 기본 키를 수동으로 수정하지 않으면 데이터가 재 배열되지 않지만 다른 주제입니다. 인덱스는 데이터 파일을 순차적으로 스캔 할 필요가 없도록 사용됩니다. 이것은 인덱스 파일이 특정 순서/구조로 저장된다는 것을 의미합니다. 이론적으로 인덱스를 추가하면 기존 열에 데이터 파일을 건드려서는 안됩니다. MyISAM 전문가는 아니지만 디스크에 무엇인가를 쓰는 가장 빠른 방법이기 때문에 데이터가 파일 끝에 추가됩니다. –

+0

이것은 인터뷰 자료입니까? 아니면 숙제? –

답변

0

.

PRIMARY KEY은 키 순서에 따라 레코드가 정렬 된 순서로 저장되는 clustured index입니다.