我找不到任何有关我的问题的信息。这是更理论的问题。例如,我有表关键字。交换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 ;
我的服务器有1GB的可用RAM内存。我的表拥有数百万行和我的尺寸custom_idx大于1GB。 索引无法放入RAM内存。 MySQL会做什么?只有部分这个索引会被存储在内存中?这会极大地破坏BTREE /集群指数的表现吗?
此外,如果我的索引大小不适合innodb_buffer_pool_size限制,会发生什么情况?
复制是索引无法放入RAM内存的巨大InnoDB数据库的答案吗?
我检查了六视图如何做MYISAM:单独的文件和索引。这个“egnine”可以在InnoDB中完成,但是我并没有在低层次上进行检查,所以我不知道你的问题的答案,但是:从我在这些大型数据库上的经验来看,数据库,以“O”开头,以“racle”结尾:)对我来说,100万是极限:在其他数据库之下的那个MySQL下。 – 2012-08-26 09:26:07