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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSQLITE. QSqlTabelModel::submitAll() очень медлено!  (Прочитано 2359 раз)
burevestnik
Гость
« : Февраль 29, 2012, 10:00 »

QSQLITE. QSqlTabelModel::submitAll(). Если в таблице 1800 записей, то сабмитит две минуты. (В каждой записи шесть полей, не более CHAR(30) ). В не зависимости от того, каждую запись я делаю submitAll() или пишу все записи, а потом  делаю общий submitAll().
Записан
Странник
Гость
« Ответ #1 : Февраль 29, 2012, 15:41 »

PRAGMA synchronous=OFF;
PRAGMA temp_store=MEMORY;
пробовали?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Февраль 29, 2012, 16:06 »

делай отправку данных внутри транзакции.
Из примера sql/cachedtable
Код
C++ (Qt)
void TableEditor::submit()
{
    model->database().transaction();
    if (model->submitAll()) {
        model->database().commit();
    } else {
        model->database().rollback();
        QMessageBox::warning(this, tr("Cached Table"),
                             tr("The database reported an error: %1")
                             .arg(model->lastError().text()));
    }
}
« Последнее редактирование: Февраль 29, 2012, 16:15 от lit-uriy » Записан

Юра.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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