2010-07-05 73 views
2

因此,搜索谷歌並沒有什麼變化,也沒有到目前爲止的StackOverflow。MYSQL移動索引的位置

本質上是我的問題是這樣的:我有一個merge table和另一個正常的表,我希望合併到它。不幸的是,這個新表中的一個索引不合適,因此合併不起作用。

現有的合併表索引:

KEY `Row ID` (`Row ID`), 
KEY `Correlation ID` (`Correlation ID`), 
KEY `Unit Serial Number` (`Unit Serial Number`,`Trunk Number`), 
KEY `Seize Date` (`Seize Date`), 
KEY `Unit Serial Number_2` (`Unit Serial Number`,`Type`,`Trunk Number`), 
KEY `Unit Serial Number_3` (`Unit Serial Number`,`Type`,`Seize Date`,`Trunk Number`), 
KEY `Processed` (`Processed`), 
KEY `Called Number` (`Called Number`), 
KEY `Calling Number` (`Calling Number`), 
KEY `File ID` (`File ID`) 

新表索引:

PRIMARY KEY (`Row ID`), 
KEY `Correlation ID` (`Correlation ID`), 
KEY `Unit Serial Number` (`Unit Serial Number`,`Trunk Number`), 
KEY `Seize Date` (`Seize Date`), 
KEY `Unit Serial Number_2` (`Unit Serial Number`,`Type`,`Trunk Number`), 
KEY `Unit Serial Number_3` (`Unit Serial Number`,`Type`,`Seize Date`,`Trunk Number`), 
KEY `Called Number` (`Called Number`), 
KEY `Calling Number` (`Calling Number`), 
KEY `File ID` (`File ID`), 
KEY `Processed` (`Processed`) 

正如你可以看到討厭處理的關鍵是在錯誤的位置,從工作停止合併表。

解決此問題的任何快速方法?

編輯:

我需要合併的表是~5演出的大小。

回答

2

創建臨時表執行合併,然後移動到舊錶

+0

我到最後解決了這個問題。以這種方式重建索引比刪除和重建其他索引要快。 謝謝羅曼。 – 2010-07-06 08:41:52

2

嘗試放置的最後四個指標,然後按照正確的順序重新創建它們。

+1

這只是一個小問題....表是大約5演出大小。應該真的在原文中提到過。 道歉。 – 2010-07-05 19:42:18