|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Oct 2002
Città: Vicino Fermo Mercatino:più di 100 trattative tutte OK
Messaggi: 4651
|
[QT /C++] QSqlQuery e tempo di esecuzione che raddoppia ogni volta
Ciao a tutti, sono 2 giorni che sto sbattendo la testa su questo problema...
Una volta completata la mia piccola applicazione sto buttando un occhio sulle prestazioni ed ho scoperto una cosa assurda: ogni volta che eseguo una query di INSERT / UPDATE il tempo aumenta in maniera lineare! Andando in dettaglio, ho un semplice QSqlDatabase in QSQLITE: Codice:
db = QSqlDatabase::addDatabase(dbDriver);
db.setDatabaseName(dbPath + dbName);
db.open();
if(!db.isOpen())std::cerr << "db closed!";
QString query = "CREATE TABLE IF NOT EXISTS MovieDB ";
query += "('Code' varchar(255)...etc... )";
QSqlQuery queryResult= QSqlQuery(db); //db è un QSqlDatabase, variabile di istanza
queryResult.exec (query);
std::cerr << qPrintable(queryResult.lastError().text());
Codice:
QString query = "UPDATE...etc....";
QSqlQuery queryResult= QSqlQuery(db);
queryResult.exec (query);
std::cerr << qPrintable(queryResult.lastError().text());
emit doneUp();
return true;
Spegnendo e riaccendendo il programmino si resetta: inizia con 0.5 secondi...riclicco: 1,0 secondi...poi 1,5 secondi e così via... Stesso problema per le query di update/insert mentre per le select nessun problema. Ho già verificato che il lag dipende solo ed esclusivamente dall'esecuzioni delle query e non da altro codice. Non so che fare...grazie anticipate a chi mi sa dare almeno qualche dritta... EDIT: RISOLTO POTETE CHIUDERE. Mi era scappata una QObject::connect dentro ad un for che replicava x volte la query -.-" Ultima modifica di Wing_Zero : 18-08-2010 alle 12:36. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:49.



















