为表增加索引

如果表很小直接就用ALTER TABLE 语法就可以了, 但是我昨天操作的表有接近一亿条的数据, 为了增加这个索引我忙活到凌晨5点半才睡觉, 前后花了5个小时.

首先将旧表改名
rename table real_name to name_old;

然后建一个增加了索引的新表
create table `name_new` (
....
);

最后利用INSERT ... SELECT语法将旧表的数据导入到新表中, 这里花了我5个小时..., 时间真的很难熬...
insert into name_new select * from name_old;

导完之后将新表改名为合适的表名
rename table name_new to real_name;

这里有一篇关于INSERT ... SELECT 命令的效率的文章, 不过跟我上面的5小时无关.
http://hi.baidu.com/hexie007/blog/item/ff50ad0a9095d137b0351d4c.html

你可能感兴趣的:(数据库,Blog,HTML)