Я розробник PHP, тому не будьте суворими. У мене великий стіл ~ 5,5 Гб дамп. Наш прем'єр вирішив створити в ній нову колонку, щоб виконати нову функцію. Таблиця - InnoDB, тому що я спробував:
Змінення таблиці на екрані з блокуванням таблиці. Взяв ~ 30 годин і нічого. Тому я просто зупинив це. По-перше, я помилився, бо не закінчив усі транзакції, але другий раз не було багатоблоків. Статус був
copy to tmp table
.Оскільки мені також потрібно застосувати розділ для цієї таблиці, ми вирішимо зробити дамп, перейменувати та зробити таблицю з тим самим іменем та новою структурою. Але дамп робить сувору копію (принаймні, я чогось іншого не знайшов). Тож я додав, щоб скинути новий стовпчик
sed
і запитати його. Але почалися якісь дивні помилки. Я вважаю, що це було спричинено колом. Таблиця в utf-8 і файл стала us-ascii післяsed
. Тому я отримав помилки (невідома команда '\' ') на 30% даних. Тож це теж поганий спосіб.
Які ще варіанти для досягнення цього та швидкість роботи (я можу це зробити за допомогою php-скрипту, але це займе віки). Якою буде результативність INSERT SELECT
у цьому випадку.
Дякую за будь-який заздалегідь.
SET NAMES utf8
і.COLLATION
Але мені IDK чому 30% даних пошкодили післяsed
. Я думаю, що основне навантаження буде найшвидшим, але, можливо, існує щось більше, чого мені не вистачає. Дякую Марку