System Info:
OS: Debian
Kernel: 4.4
Platform: BeagleBoneBlack
Sqlite3: version (SQLite version 3.8.7.1 2014-10-29 13:59:56).
DB Info:
Schema: CREATE TABLE Table1 (rowId INTEGER PRIMARY KEY AUTOINCREMENT, parm varchar(32), value varchar(32));
Total Rows: 164
If I drop into terminal, manually open DB, and issue a simple update command like (UPDATE Table1 SET value='45' WHERE parm='Parm3') it is very fast. It will occasionally lag for a second or so. I set pragma synchronous = OFF, and same with journal_mode, just to test. This makes it even faster, and I never see the occasional lag.
So I use Qt to open the DB, set those same pragma settings, and use something like this:
QString strQuery
= QString("UPDATE %1 SET value='%2' WHERE parm='%3'").
arg(table
).
arg(value
).
arg(setting
);
query.prepare(strQuery);
time->start();
if(!query.exec()) {
qDebug() << "Error with query:: " << strQuery << "|" << query.lastError();
return false;
}
qDebug() << "Duration::" << time->elapsed();
QSqlQuery query;
QString strQuery = QString("UPDATE %1 SET value='%2' WHERE parm='%3'").arg(table).arg(value).arg(setting);
QTime *time = new QTime();
query.prepare(strQuery);
time->start();
if(!query.exec()) {
qDebug() << "Error with query:: " << strQuery << "|" << query.lastError();
return false;
}
qDebug() << "Duration::" << time->elapsed();
To copy to clipboard, switch view to plain text mode
This results in an output of an elapsed time between 2000-3000 with the same simple update command? Not every time, but like 1/5 updates it will hangup for a few seconds. Again, I use the same pragma settings and update command via terminal and it runs like butter, but via Qt it seems to have a ton of overhead on ~1/5 updates. Has anyone run into this issue, or have any insight as to why this might be the case?
Bookmarks