SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 14.03.2011 09:30:23

septera
Завсегдатай
Откуда: Краснодар
Зарегистрирован: 16.02.2011
Сообщений: 30

Транзакции

Нужно записать в mysql более 10000 строк в транзакции. Что лучше, записать все одним большим INSERT'ом или записать все раздельными INSERT'ами? Еще интересно как лучше вызывать транзакцию если INSERT раздельные, перед каждым INSERT или перед первым и после последнего?
p.s. данные очень важные, а походу транзакции возможны перебои с сетью

Неактивен

 

#2 14.03.2011 13:52:56

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2420

Re: Транзакции

Для увеличения скорости работы лучше в 1 большой insert-запрос все данные положить (см. http://sqlinfo.ru/forum/viewtopic.php?id=1556 ).


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 15.03.2011 09:54:19

septera
Завсегдатай
Откуда: Краснодар
Зарегистрирован: 16.02.2011
Сообщений: 30

Re: Транзакции

Спасибо, а как быть с размером одного запроса, хостинга удаленный и не премиум, боюсь что будут проблемы с такими гигантами или бояться нечего?

Неактивен

 

#4 15.03.2011 12:16:15

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2420

Re: Транзакции

Попробуйте эксперимент, проведенный на ссылке http://sqlinfo.ru/forum/viewtopic.php?id=1556, т. е. померяйте время выполнения запроса с различными количествами values в блоке.
Ну и опять же, личный и не только опыт показал, что LOAD DATA LOCAL INFILE работает куда быстрее smile.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 15.03.2011 12:25:29

septera
Завсегдатай
Откуда: Краснодар
Зарегистрирован: 16.02.2011
Сообщений: 30

Re: Транзакции

Спасибо за совет, пока что останавлюсь на большом INSERT в одной транзакции.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson