Russian Qt Forum
Сентябрь 30, 2024, 12:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Повысить скорость записи в БД  (Прочитано 4442 раз)
skydion
Гость
« : Март 10, 2010, 17:09 »

Ребята вот у меня тут фигня получается...
Считал даные обработал записал в QVariantList прибиндил
ну и делаю запрос INSERT bla bla bla

так вот записей набралось 17500 все это дело записывалось в БД минут 10 наверное  В замешательстве
есть ли возможность одним запросом все записать? типа кеширование?

раньше я как делал

query.prepare("INSERT ... VALUES (?,?,?)")
потом в стринг лепил все VALUES ну и одним запросом записывал, все быстро работало,
но почитал тут о проблеме - http://www.prog.org.ru/topic_12404_0.html и решил переделать ...
но теперь проблема в скорости...
Записан
alexman
Гость
« Ответ #1 : Март 10, 2010, 17:13 »

bool QSqlDriver::beginTransaction ()
bool QSqlDriver::commitTransaction ()
Записан
skydion
Гость
« Ответ #2 : Март 10, 2010, 18:32 »

Большое спасибо! )
Не думал что такой прирост даст... специально протестировал с/без транзакциями...

17500 записей
с - 0:03 мин
без - 9:37 мин

Записан
alexman
Гость
« Ответ #3 : Март 10, 2010, 22:23 »

Просто без транзакций после каждого INSERT СУБД свои индексы перестраивала!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 20.