Как ускорить создание таблицы (через QSqlQuery)? |
Здравствуйте, гость ( Вход | Регистрация )
Как ускорить создание таблицы (через QSqlQuery)? |
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? Спасибо! |
|
|
Rocky |
16.2.2009, 15:15
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
СУБД SQLite 3.
В базе 11 таблиц, общее число вставляемых записей около 5.3к. 5.3к записей вставляется 18 мин (prepare я уже вынес из тел циклов). Задержек в других местах в коде нет точно (есть только цикл, внутри которого bindValue и exec). Когда работал через ODBC с MS Access, было все намнооого быстрее (4к записей около минуты)... |
|
|
Текстовая версия | Сейчас: 15.1.2025, 10:32 |