2015-02-26 4 views
1

У меня есть таблица, которая определена как this. Где ProviderId - первичный ключ, а StateID - это внешний ключ, который поступает из другой таблицы. Он работает на моем ноутбуке, поэтому он является локальной базой данных. В моем столе у ​​меня около 9 миллионов записей. Я побежал следующую команду, чтобы создать новый индекс для таблицы:Создать индекс причины «Потерянное соединение с MySQL»

CREATE INDEX name_addr ON providers (ProviderName, Address, StateID, Zip); 

Она бегала 10 минут, и я получил сообщение об ошибке:

Error Code: 2013. Lost connection to MySQL server during query - 600.547 sec 

Я проверил мой журнал, и результат был это:

150226 13:07:31 12 Query CREATE INDEX name_addr ON providers (ProviderName, Address, StateID, Zip) 
150226 13:17:32 13 Connect [email protected] on 
      13 Query set autocommit=1 
      13 Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ 
      13 Query SHOW SESSION VARIABLES LIKE 'lower_case_table_names' 
      13 Query SELECT current_user() 
      13 Query SET CHARACTER SET utf8 
      13 Query SET NAMES utf8 
      13 Query SET SQL_SAFE_UPDATES=1 
      13 Query SELECT CONNECTION_ID() 
      13 Query SHOW SESSION STATUS LIKE 'Ssl_cipher' 
      13 Query USE `workflydb` 
      13 Query set autocommit=1 

Хотя, я получил сообщение об ошибке, когда я проверил мои индексы, результат был this. Я не знаю, в чем проблема, и как ее решить, или работает ли мой созданный индекс. Есть идеи?

ответ

0

Это может быть из-за проблемы с таймаутом. Измените время на большее значение. Вы можете сделать это в интерфейсе командной строки или в workbench mysql.