SQLite - скорость работы
Хочу добавить в таблицу 100 записей , для этого использую функции
sqlite3_prepare(db,"CREATE TABLE tbl1 (N INTEGER PRIMARY KEY AUTOINCREMENT, nm CHAR(20), score INT);" , -1, &pStmt, NULL)
sqlite3_step(pStmt);
sqlite3_finalize(pStmt);
sqlite3_prepare(db, "INSERT INTO tbl1 VALUES(NULL, 'file1',1);", -1, &pStmt, NULL) ;
sqlite3_step(pStmt);
sqlite3_finalize(pStmt);
sqlite3_prepare(db, "DROP TABLE tbl1;" , -1, &pStmt, NULL) ;
sqlite3_step(pStmt);
sqlite3_finalize(pStmt);
И для 100 записей по времени выходит приблизительно секунд 20 - 30.
Можно ли этот показатель как-то улучшить ??
2)Попробуйте сделать все это в одной транзакции
3)Попробуйте подумать а нужно ли вам делать такую операцию настолько часто что 20-30 секунд это много. Я не ставлю под сомненье но советую еще раз проанализировать
Цитата: NikiFar
И для 100 записей по времени выходит приблизительно секунд 20 - 30.
Можно ли этот показатель как-то улучшить ??
а вы уверены, что узким местом является сам SQLite, а не файловая система?
sqlite3_exec(db, "BEGIN", NULL, NULL, NULL)
а после insert-ов
sqlite3_exec(db, "COMMIT", NULL, NULL, NULL)