Russian Qt Forum

Qt => Базы данных => Тема начата: Lisandra от Май 07, 2009, 15:14



Название: Время обработки запросов
Отправлено: Lisandra от Май 07, 2009, 15:14
Время выполниния следующего запроса равно 31мс, что очень чувствительно при добавлении в базу данных больших обьемов информации, как можно уменьшить время?
 QString strF =
          "INSERT INTO  addrbook (number, name) "
          "VALUES(%1, '%2')";

    str = strF.arg("1")
              .arg("Vera");
           
    if (!query.exec(str)) {
        qDebug() << "Unable to do insert opeation";
    }
при использовании prepare и bindValue время выполния query.exec() осталось темже, так же не помогло использование execBatch().


Название: Re: Время обработки запросов
Отправлено: spirit от Май 07, 2009, 15:21
ну так это ни как не зависит от Qt.
выполняйте запросы в рабочем (отдельном) потоке.


Название: Re: Время обработки запросов
Отправлено: Lisandra от Май 07, 2009, 15:22
Спасибо


Название: Re: Время обработки запросов
Отправлено: -QT- от Май 08, 2009, 08:19
Какой SQL сервер используется и какой драйвер ?


Название: Re: Время обработки запросов
Отправлено: xokc от Май 08, 2009, 20:44
Какие есть индексы?
Какое количество записей добавляется за одну операцию?
В ОБЩЕМ СЛУЧАЕ целесообразно отключать индексы и делать BULK INSERT если СУБД это позволяет.