Я страдаю от ужасного времени вставки на моем MacPro (четырехъядерной памяти 6G), работающем под управлением mysql 5.1.49 на снежном барсе 10.6.4.Я попытался выяснить, где проблема, и наконец пришел к выводу, что это должно быть связано с Mac OS X.
Вот тест, который я провел.У меня есть старый Dell с одним процессором Pentium и 256M памяти и MySQL 5.1.44.Файл ip2nation.sql содержит различные строки вставки, подобные этой
INSERT INTO ip2nation (ip, country) VALUES(0, 'us');
INSERT INTO ip2nation (ip, country) VALUES(687865856, 'za')
...
Вставка этих по сети работает очень хорошо
time mysql -h dell test < ip2nation.sql
real 0m22.352s
user 0m0.587s
sys 0m1.556s
, выполняя тот же тест для моей базы данных MySQL на моем Mac иРезультат - ошеломляет
time mysql test < ip2nation.sql
real 23m46.254s
user 0m1.199s
sys 0m1.808s
Обе команды запускаются из OSX.Когда я изменяю формат операторов SQL INSERT на
INSERT INTO ip2nation (ip, country) VALUES
(0, 'us')
,(687865856, 'za')
...
раз, в OSX было намного лучше
time mysql test < ip2nation.sql
real 0m1.183s
user 0m0.021s
sys 0m0.009s
Кто-нибудь может мне это объяснить?Я не могу переписать все мои приложения, чтобы использовать эту форму инструкции INSERT.