Здравствуйте, гость ( Вход | Регистрация )
|
Rocky |
16.2.2009, 13:32
Сообщение
#1
|
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7
|
Создаю таблицу и заполняю ее посредством запроса INSERT. В таблицы больше 1к записей и заполнение идет очень долго... Можно ли как-нибудь ускорить запись? Оптимизировать это дело?
Да, кто знает, обязательно ли перед каждым вызовом QSqlQuery::exec использовать QSqlQuery::prepare (все это происходит в цикле)? Или QSqlQuery::prepare достаточно вызывать один раз перед циклом, а внутри делать только QSqlQuery::bindValue и затем QSqlQuery::exec? Спасибо! |
|
|
|
![]() |
|
Litkevich Yuriy |
16.2.2009, 17:27
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
trdm, транзакция не ускоряет процесс, она лишь делает его атомарным
Цитата(Rocky @ 16.2.2009, 19:31) Link А есть какой-нибудь "легкий" вариант, т.е. чтобы база была под рукой (рядом с прогой), но кроме драйвера ничего не требовалось устанавливать? (никаких серверов БД и пр). можно FireBird или MySQL использовать, у них есть встраиваемые версии, dll'ку подкладываешь в каталог приложения и все.Обе эти СУБД хранять БД в виде одного файла (бывают конечно и многофайловые БД, но это уже другая история) |
|
|
|
|
trdm |
16.2.2009, 18:00
Сообщение
#3
|
|
Дмитрий Трошин ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6
|
Цитата(Litkevich Yuriy @ 16.2.2009, 17:27) Link trdm, транзакция не ускоряет процесс, она лишь делает его атомарным еще как ускоряет.. была такая же проблема, выручила транзакция. |
|
|
|
Rocky Как ускорить создание таблицы (через QSqlQuery)? 16.2.2009, 13:32
Litkevich Yuriy Цитата(Rocky @ 16.2.2009, 16:32) обязател... 16.2.2009, 13:45
Rocky СУБД SQLite 3.
В базе 11 таблиц, общее число встав... 16.2.2009, 15:15
Litkevich Yuriy Цитата(Rocky @ 16.2.2009, 18:15) Когда ра... 16.2.2009, 16:05
Rocky А есть какой-нибудь "легкий" вариант, т.... 16.2.2009, 16:31
trdm Цитата(Rocky @ 16.2.2009, 13:32) Создаю т... 16.2.2009, 16:57
Tonal Цитата(Litkevich Yuriy @ 16.2.2009, 20:27... 17.2.2009, 9:29
panter_dsd Полностью согласен с trdm, сам сталкивался. Соотно... 16.2.2009, 19:38
Константин Цитата(Litkevich Yuriy @ 16.2.2009, 17:27... 16.2.2009, 21:44
SABROG Цитата(Rocky @ 16.2.2009, 15:15) СУБД SQL... 17.2.2009, 9:55
Rocky Ххе, ясно. SABROG, спасибо, погуглю..
Я тут добав... 17.2.2009, 10:21
Константин повышай SABROG-а за это. 17.2.2009, 11:53
Litkevich Yuriy Цитата(Rocky @ 17.2.2009, 13:21) Ххе, ясн... 17.2.2009, 12:01
trdm а я что недостоин плюсика? волки
нас тупых 1С-н... 17.2.2009, 17:44
Rocky Упс, сорри Так лучше? )))) 17.2.2009, 18:09
trdm блин, пошутить нельзя без последствий
Спасибо. 17.2.2009, 18:12
Rocky По-поводу транзакций... Ув. форумчане, не подскажи... 17.2.2009, 21:37
Kagami Цитата(Rocky @ 17.2.2009, 21:37) Ув. фору... 17.2.2009, 22:40
SABROG Только для изменения таблиц.
Если не устраивает с... 17.2.2009, 21:58
panter_dsd В данном случае не дадут. В основном транзакции пр... 17.2.2009, 22:01
SABROG Цитата(panter_dsd @ 17.2.2009, 22:01) есл... 17.2.2009, 22:06
panter_dsd У меня нормально 5 клиентов на одной базе уживалос... 17.2.2009, 22:16
SABROG Цитата(panter_dsd @ 17.2.2009, 22:16) У м... 17.2.2009, 22:42
Rocky Ага, теперь разобрался.. Спасибо 17.2.2009, 22:39
panter_dsd И изменяют нормально. Блокировки работают.
Т.е. п... 17.2.2009, 23:34
trdm Цитата(panter_dsd @ 17.2.2009, 23:34) И и... 18.2.2009, 0:50
Litkevich Yuriy Цитата(Rocky @ 18.2.2009, 0:37) при навиг... 18.2.2009, 1:49
Tonal Транзакции нужны для гарантирования атомарности из... 18.2.2009, 11:38
SABROG Цитата(Tonal @ 18.2.2009, 11:38) Функция ... 18.2.2009, 11:52
Tonal Последовательность их вызова зависит от компилятор... 18.2.2009, 13:10
512es Извиняюсь, что тема давнешняя. Но до сих пор, (раз... 20.3.2010, 20:57![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 14.12.2025, 2:45 |