MYSQL перемещает позицию индекса - PullRequest
2 голосов
/ 05 июля 2010

Таким образом, поиск в Google ничего не дал и StackOverflow пока что не сделал.

По сути, моя проблема заключается в следующем: у меня есть таблица слияния и другая обычная таблица, которую я хочу слить в нее. К сожалению, один индекс в этой новой таблице находится вне позиции, поэтому слияние не работает.

Существующие индексы таблиц слияния:

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`)

Как видите, обработанный досадный ключ находится в неправильном положении, что мешает работе таблицы слияния.

Какой-нибудь быстрый способ решить эту проблему?

Edit:

Таблица, которую мне нужно объединить, имеет размер ~ 5 гигов.

Ответы [ 2 ]

2 голосов
/ 05 июля 2010

Попробуйте отбросить последние четыре индекса и затем воссоздать их в правильном порядке.

2 голосов
/ 05 июля 2010

Создать временную таблицу, выполнить слияние, а затем перейти к старой таблице

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...