在mysql中创建索引需要多长时间?

时间:2012-09-11 19:13:59

标签: mysql sql indexing

我最近得到了建立一些索引的建议,这是我的sql代码

CREATE INDEX my_idx1 ON identdb (name,long1,lat1,date,count);
CREATE INDEX my_idx2 ON identdb (name,long1,lat1,date);
CREATE INDEX my_idx3 ON identdb (long1,lat1,date);
CREATE INDEX my_idx4 ON identdb (long1,lat1);

有700万行,7列,我在本地数据库上这样做。

它已经运行了大约16个小时。我做错了吗?

1 个答案:

答案 0 :(得分:2)

可能需要一段时间,虽然16小时似乎过度。执行show processlist并查看CREATE INDEX是否仍在运行,或者某些内容是否被阻止。

顺便说一下,你的两个索引是多余的(my_idx2my_idx4)。作为另一个索引的前缀的索引是不必要的,因为较长的索引可以在任何使用较短索引的地方使用。