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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Совет по многопоточности при работе с базами..  (Прочитано 10519 раз)
BlackTass
Гость
« Ответ #15 : Февраль 15, 2010, 15:37 »

А смотреть что именно тормозит не пробовал? Улыбающийся
Тормозить может (грубо):
1. Подготовка данных для заливки.
2. Передача данных на сервер.
3. Обработка сервером.
Разбивая заливку на 2 потока скорость какой именно части изменится?
Очевидно что первой и второй. Третья это черный ящик.
Записан
MoPDoBoPoT
Гость
« Ответ #16 : Февраль 15, 2010, 17:26 »

Использовать транзакции - очень даже красивое решение
Но не в данном случае, так как у автора оптимальное решение - "пакетная обработка" (execBatch()).

На кроссплатформ.ру Litkevich Yuriy дельно посоветовал отключить все индексы таблицы, а после включить. Но для более точно ответа надо идти на sql.ru в ветку Oracle, там более компитентные люди в данном вопросе, да и сам вопрос ближе к работе с Oracle, нежели чем к Qt.
Записан
Tonal
Гость
« Ответ #17 : Февраль 16, 2010, 09:23 »

Очевидно что первой и второй. Третья это черный ящик.
А второй почему? На машине 2 сетевые карточки и каждый поток будет слать по своей?  Смеющийся
Ну а с первой нужно смотреть и мерить во что именно упирается скорость подготовки...

Короче всяко нужно сначала померить. Улыбающийся

Ну и в базах обычно есть какие-то режимы или механизмы поддержки больших объёмов вставок. Но это нужно смотреть конкретно каждую базу.

П. С. В общем случае, мне кажется, с 2мя потоками ситуация скорее ухудшится так что без серьёзного профилирования я бы не стал их пускать. Улыбающийся
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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