Наблюдается следующий "глюк":
имеется txt-шник с дампом базы. В нем используются групповые инсерты, по 80000..100000 вставок на 1 инсерт. В таблице всего 30млн строк.
между каждым инсертом я вывел SELECT NOW();
Наблюдаю такой "баг": первые 17млн записей вставляются 40 минут, потом винчестер минут 10 "шуршит", А потом остальные 14млн записей вставляются за 15минут.
В чем может быть дело? комп во время вставок других емких задач не выполнял.
если важно:
дисковая система - ext4, noatime, nodiratime и больше никаких особых опций не стоит, все по умолчанию. Убунта.
имеется txt-шник с дампом базы. В нем используются групповые инсерты, по 80000..100000 вставок на 1 инсерт. В таблице всего 30млн строк.
между каждым инсертом я вывел SELECT NOW();
Наблюдаю такой "баг": первые 17млн записей вставляются 40 минут, потом винчестер минут 10 "шуршит", А потом остальные 14млн записей вставляются за 15минут.
В чем может быть дело? комп во время вставок других емких задач не выполнял.
если важно:
дисковая система - ext4, noatime, nodiratime и больше никаких особых опций не стоит, все по умолчанию. Убунта.
no subject
Date: 2012-01-27 09:36 pm (UTC)Каждая табличка- файл, какждый индекс- файл и т.д. (MyISAM ведь!)
Плюс своп.
LOAD DATA INFILE не? имхо может оказаться быстрее.
no subject
Date: 2012-01-28 07:18 am (UTC)А я искал куда же я этот пост сделал :)))
А что ты подкрутил, чтобы каждый индекс в файле хранился? Я так тоже хочу, у меня сейчас все индексы для MyIASM храняться в одном файле MYI, и так было всегда.
вопрос не в том, как побыстрей влить базу. Вопрос в том, почему верхняя часть таблицы вставилась в 2-2.5 раза быстрей.
может это вообще с кернелем связано, с его особоеннстями работы с большими файлами. архитектура 32битная, кстати.
Re: Reply to your comment...
Date: 2012-01-28 07:54 am (UTC)писать в отдельный файл (индекса, не в весь огромный файл
таблички/базы, как для InnoDB), и если в табличке индексов много,
файловая операция затягивается.
BTW поэтому при подобных миграциях в некоторых случаях рекомендуют
сначала всё восстанавливать без индексов, а уже потом их заново
создавать.
Судя по тому, что ты пишешь, верхняя часть дампа наоборот, вставляется
дольше нижней.
Ну и, может у тебя там огромные BLOB/TEXT в районе тех самых "10
минут" живут, вот и вставляются несколько дольше прочего.
Re: Reply to your comment...
Date: 2012-01-29 07:37 am (UTC)В этом и состоит странность.
А еще у меня там нету блобов и текстов. И фиксированная длина строки. У меня там 3 уинтовых поля, и одно char[16]