Привет. Когда я добавляю записи через импорт в PHPMyAdmin на локальном денвере, то у меня добавление идет очень медленно, а винт молотит как сумасшедший. 5к записей добавлялось несколько минут. Добавлять 30к мне просто жалко диск. Есть ли какой-то безболезненный способ это сделать? Видимо на каждый insert он физически переструктурирует базу, или что-то около того.
Black_mirror Думаю это было бы решение, т.к. insert into aaa select * from bbb отрабатывает моментом. Но... а как создать таблицу в памяти? :-[
_DEN_ Коммит он походу делает. Не удивлюсь, если ещё и с перестроением индекса. Там этот автокоммит как-то отрубается, точное заклинание забыл за давностью лет. Поройся в Яндексе по ключевым словам COMMIT, AUTOCOMMIT и TRANSACTION. А вообще в Oracle импорт часто делается запуском неэпического скрипта из кучи строчек INSERT с данными. Мобуть и в MySQL такой подход проканает.
Всем спасибо, проблема решена. Все действительно делается через вспомогательную таблицу на движке MEMORY. В нее делаем импорт, и потом в основную делаем insert into my_table select * from temp_my_table; - все делается за пару секунд, и винт не насилуется. Единственное - по дефолту ограничение на размер временных таблиц - 16 метров, поэтому надо этот размер увеличить. В my.cnf надо в секцию [mysqld] прописать max_heap_table_size = 128M tmp_table_size = 128M 128 - соответственно размер таблицы в метрах.