Как ускорить создание таблицы (через 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? Спасибо! |
|
|
SABROG |
17.2.2009, 21:58
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Только для изменения таблиц.
Если не устраивает скорость выборки, то рекомендую создать индексы по полям. Здорово увеличивает скорость. Индексы обычно создаются по полям, которые участвуют в "order by". Если SQL запрос статичный в принципе, то можно сделать вьюху (create view). Выборку можно будет вызывать например так "select myview" (если память не отшибает). Индексы создаются так:
|
|
|
Текстовая версия | Сейчас: 28.1.2025, 17:54 |