2012-09-11 129 views
1

最近我得到的建議,以創建一些索引,這是我的SQL代碼需要多長時間才能在mysql中創建索引?

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小時。我做錯什麼了嗎?

+0

不是一個直接的答案,但你有一些不好的建議。第一個和第三個索引提供您創建的第二個和第四個索引給出的所有功能。 – RedFilter

+0

@invertedSpear啊,我明白了。你可以刪除你的評論...正如我對我的做法:-) –

回答

2

可能需要一段時間,雖然16小時似乎過多。執行show processlist並查看CREATE INDEX是否仍在運行,或者是否被阻止。

順便說一下,您的兩個索引是多餘的(my_idx2my_idx4)。作爲另一個索引的前綴的索引是不必要的,因爲較長索引可以用在使用較短索引的任何地方。

相關問題