Каждую ночь мы делаемДубликат ошибка записи, хотя я использую REPLACE INTO
LOAD DATA LOCAL INFILE '$path'
REPLACE INTO TABLE $table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
($fields)
записей в файле, расположенном в $ пути будет иметь некоторые повторяющиеся записи в соответствии с ключом в $ таблице, и именно поэтому мы делают REPLACE INTO, а не INSERT INTO.
Эта стратегия работает errorlessly в течение многих лет, пока вчера вечером что-то не икнул, и следующее сообщение об ошибке можно было найти в журналах:
MYSQL ошибка: ключ Дублировать для записи на 225811872 с записью на 88773156 Guilty запроса : ALTER TABLE remp ENABLE KEYS.
Если это имеет значение, таблица, вероятно, выросла до 200 м строк (из 14,9 ГБ) в первый раз. Кроме того, таблица разделена на ~ 40 разделов.
С этого момента, любым дальнейшего ЗЕЬЕСТОМ на столе в вопросе привел: произошла
MYSQL ошибки: Таблица»./azuondb/remp#P#p1' помечен как поврежденные и последние (автомат?) ремонт не удался
Простой (ручной!) REPAIR TABLE помог, но пока я не выполнил это, таблица была «использована» и недоступна, что серьезно влияет на предоставляемые нами услуги.
У кого-нибудь есть идея, что вызвало эту ошибку и как ее предотвратить в будущем?