MYISAM 테이블 유형 또는 엔진 - 각 테이블에 대해 디스크에 3 개의 파일을 생성합니다. 변경 얻을 나는 위의 파일이 이미 존재하는 테이블의 새로운 인덱스를 작성하는 경우 데이터 구조 .FRMMysql 인덱스 사용
- 에 대한
- 인덱스 .MYI 에 대한
- 을 .MYD?
색인을 만들 때 테이블의 데이터에는 정확히 무엇이 발생합니까? 테이블의 레코드가 인덱싱 된 열에 대해 chenged가됩니까?
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
파일이 업데이 트해야 다음 이미 존재하는 테이블에 대한 새 인덱스를 생성하는 경우
InnoDB를 사용하고 기본 키를 수동으로 수정하지 않으면 데이터가 재 배열되지 않지만 다른 주제입니다. 인덱스는 데이터 파일을 순차적으로 스캔 할 필요가 없도록 사용됩니다. 이것은 인덱스 파일이 특정 순서/구조로 저장된다는 것을 의미합니다. 이론적으로 인덱스를 추가하면 기존 열에 데이터 파일을 건드려서는 안됩니다. MyISAM 전문가는 아니지만 디스크에 무엇인가를 쓰는 가장 빠른 방법이기 때문에 데이터가 파일 끝에 추가됩니다. –
이것은 인터뷰 자료입니까? 아니면 숙제? –