내 질문에 관한 정보를 찾을 수 없습니다. 이것은 더 이론적 인 질문입니다. 예를 들어, 테이블 이 있습니다.스왑의 MySQL InnoDB 인덱스
CREATE TABLE IF NOT EXISTS `keywords` (
`kid` int(11) unsigned NOT NULL AUTO_INCREMENT,
`language_id` int(11) NOT NULL,
`keyword` varchar(120) NOT NULL,
PRIMARY KEY (`kid`),
UNIQUE KEY `custom_idx` (`language_id`,`keyword`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
제 서버의 RAM 메모리는 1GB입니다. 내 테이블에 수백만 개의 행이 있고 내 custom_idx 크기가 1GB 이상입니다. 인덱스가 RAM 메모리에 맞지 않습니다.. mysql은 무엇을 할 것인가? 이 색인의 일부만이 메모리에 저장됩니까? BTREE/Clustered 인덱스 성능이 현저하게 떨어질까요?
내 인덱스의 크기가 innodb_buffer_pool_size 제한에 맞지 않을 경우 어떻게됩니까?
인덱스가 RAM 메모리에 맞지 않는 엄청난 InnoDB 데이터베이스에 대한 복제는 복제입니까?
나는 MYISAM : 분리 파일 및 색인 생성을 어떻게하는지 육안보기에서 확인했습니다. "egnine"은 InnoDB에서 할 수 있지만 낮은 수준에서 어떻게 수행했는지는 확인하지 않았기 때문에 질문에 대한 답을 알 수는 없지만 다음과 같은 큰 데이터베이스에 대한 내 경험으로 볼 때 훨씬 더 좋습니다 DB, "O"로 시작하고 "racle"으로 끝나는 :) 나에게는 1 백만이 한계 다. –