1

我最近得到了创建一些索引的建议,这是我的 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 个小时。我做错什么了吗?

4

1 回答 1

3

这可能需要一段时间,尽管 16 小时似乎太长了。执行 ashow processlist并查看它CREATE INDEX是否仍在运行,或者它是否被某些东西阻塞。

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

于 2012-09-11T19:18:35.067 回答