MySQL:在14亿条记录上创建索引
我有一张有14亿条记录的表。表结构如下: CREATE TABLE text_page ( text VARCHAR(255), page_id INT UNSIGNED ) ENGINE=MYISAM DEFAULT CHARSET=ascii 要求是在列上创建索引text。 该表的大小约为34G。 我试图通过以下语句创建索引: ALTER TABLE text_page ADD KEY ix_text (text) 经过十个小时的等待,我终于放弃了这种方法。 有什么可行的解决方案吗? UPDATE:该表不太可能被更新,插入或删除。之所以要在该列上创建索引,text是因为这种SQL查询将经常执行: SELECT page_id FROM text_page WHERE text = ? 更新:我已经通过分区表解决了这个问题。 桌子被分成40列text。然后在表上创建索引大约需要1个小时。 当表大小很大时,MySQL索引的创建似乎变得很慢。分区将表缩小为较小的主干。