Многопоточность при работе с БД |
Здравствуйте, гость ( Вход | Регистрация )
Многопоточность при работе с БД |
kibsoft |
14.2.2010, 12:17
Сообщение
#1
|
Участник Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: 2 |
Есть примерно 58000 записей, я их через execBatch() забиваю в базу (СУБД ORACLE), на это уходит около 4 секунд..вопрос: если например запись в базу разбить на два потока, то можно ускорить запись? Хотя бы теоретически это возможно?
|
|
|
MoPDoBoPoT |
15.2.2010, 20:07
Сообщение
#2
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
Не в этом дело..без отлючения/влючения индекса и с позиционным работает...но дольше вставка идет чем без индекса, но зато обновление базы с индексом намного быстрее.. вот я и хочу на время вствки его отключать, но видимо так нельзя.. Я в курсе. Конечной целью у тебя является увеличить скорость записи данных в БД, потому я и сделал замечание. Собственно, подготовка запроса (prepare) служит для того, чтобы СУБД разобрало текст запроса один раз и поместила его в библиотечный кэш, а пользовалось им много раз (сам разбор запроса занимает некоторое время). Насчет индексов - спроси про это на sql.ru, там прохаванные в этом люди. kibsoft, ты транзакции используешь? Так он же execBatch() пользуется, там уже оптимизировано в этом плане. |
|
|
Текстовая версия | Сейчас: 23.1.2025, 5:13 |