|
MySQL.RU - Webboard
Вернуться
Оч.тормозит INSERT в INNODB в отличии MYISAM! (Clipper) 09/01/2007 - 23:43:50
Re: Оч.тормозит INSERT в INNODB в отличии MYISAM! (Clipper) 10/01/2007 - 03:41:03
> Original message text:
> From: Clipper - 09/01/2007 - 23:43:50
> Subject:Оч.тормозит INSERT в INNODB в отличии MYISAM!
> -----------------
> Раньше использовал таблицы MYISAM для неочень больших таблиц(несколько тысяч записей). Сейчас при проектировании новой базы с встал вопрос о максимальной оптимизации таблиц, т.к. планируются очень большие объемы данных(миллионы записей), с постоянным добавлением и паралельной выборкой. Везде пишут что тип INNODB самый продвинутый в этом плане, решил сделать тест. На практике у меня оказалось совсем наоборот: INNODB нереально долго выполняет INSERT и UPDATE!
> На рабочих машинах результаты получились такие:
> 1)pentium 1.7Ггц; 512Mb
> В таблицу INNODB 1000 записей добавляется ~ за 40 сек.
> В таблицу MYISAM 1000 записей добавляется ~ за 0.2 сек.
> 2)celeron 2.4Ггц; 768Mb
> В таблицу INNODB 1000 записей добавляется ~ за 4-5 сек.
> В таблицу MYISAM 1000 записей добавляется ~ за 1.9 сек.
>
> Вот такая вот разница! ПОЧЕМУ?
>
> MySQL 5.0.17-nt
> конфиги вроде дефолтные:
> innodb_additional_mem_pool_size=2M
> innodb_flush_log_at_trx_commit=1
> innodb_log_buffer_size=1M
> innodb_buffer_pool_size=8M
> innodb_log_file_size=10M
> innodb_thread_concurrency=8
> пробовал менять размеры памяти - без разницы.
>
> Таблицы такие:
> CREATE TABLE `test` (
> `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
> `field1` INT( 11 ) NOT NULL ,
> `field2` VARCHAR( 100 ) NOT NULL
> ) TYPE = innodb;
>
> CREATE TABLE `test2` (
> `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
> `field1` INT( 11 ) NOT NULL ,
> `field2` VARCHAR( 100 ) NOT NULL
> ) TYPE = MYISAM ;
>
> Запрос через php такой:
> for ($i=0;$i<1000;$i++)
> mysql_query("INSERT INTO test (field1, field2) VALUES (".rand(1,100).", 'abc')");
>
> И еще заметил такое что где-то после добавления 25 тыс. записей в таблицу типа INNODB, количество записей в таблице возвращается неверное!! т.к. я добавлял записи кратные 1000, например phpmyadmin показывает чет нето, т.е. перезагружая страницу с обзором количество записей возвращается разное. при том что с типом MYISAM все было нормально.
>
> Объясните что не так с INNODB?
> может версия mysql с ним глюкнуто работает?
> или настройки нужны особо тонкие?
> или все правильно и INNODB это мазохизм? :)
>
From: Clipper - 10/01/2007 - 03:41:03
Subject:Оч.тормозит INSERT в INNODB в отличии MYISAM!
-----------------
Разобрался как общаться с InnoDB, посредством транзакций.
Скорость стала сравнима с MYISAM хотя прироста пока не заметил.
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
30468
|
|