Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Длинный запрос MySQL 40кб и более не работает!!!
 
 автор: gus   (17.01.2012 в 11:00)   письмо автору
 
 

Добрый день.
столкнулся с проблемой нужно раз в секунду делать 1000 и более INSERT
делаю это так:
INSERT INTO `memtime` (`id`, `date`, `dannie`) VALUES (NULL,NOW(),'79.23'),(NULL,NOW(),'79.39'),(NULL,NOW(),'159.83'),(NULL,NOW(),'79.65'),(NULL,NOW(),'79.39'),(NULL,NOW(),'159.30'),(NULL,NOW(),'159.83'),(NULL,NOW(),'79.23'),(NULL,NOW(),'78.86'),(NULL,NOW(),'159.80'),(NULL,NOW(),'79.39').....и.т.д....

когда запрос стостоит из 100 INSERT то все ок.

если больше то в базу просто ничего не добавляется. и не возникает никакой ошибки даже. т.е. как будто весь запрос просто игнорируется.

net_buffer_lenght=1M
использую ENGINE=MEMORY

Может можно как-то оптимизировать запись большого количества данных за малое время в базу данных?

  Ответить  
 
 автор: Valick   (17.01.2012 в 11:46)   письмо автору
 
   для: gus   (17.01.2012 в 11:00)
 

может нужно использовать вот это

  Ответить  
 
 автор: cheops   (17.01.2012 в 13:56)   письмо автору
 
   для: gus   (17.01.2012 в 11:00)
 

Попробуйте увеличить значение директивы max_allowed_packet, возможно у вас запрос превышает максимально допустимый размер.

  Ответить  
 
 автор: gus   (17.01.2012 в 14:24)   письмо автору
 
   для: cheops   (17.01.2012 в 13:56)
 

Проблему решил. была проблема в MySQL wrapper, в нём было ограничение на 32кб. обновил и всё заработало. Всем спасибо.

Вообще интересует вопрос как увеличить скорость Insert в базу?
какой тип таблиц будет быстрее MyISAM или Innodb? или есть что-то еще? (тип memory не подходит)

  Ответить  
 
 автор: cheops   (17.01.2012 в 14:34)   письмо автору
 
   для: gus   (17.01.2012 в 14:24)
 

Именно INSERT довольно сложно ускорить... самое действенное - это убирать ключи из таблицы на время вставки и блокировать доступ к таблице.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования