This commit is contained in:
Hongze Cheng 2021-12-01 17:44:28 +08:00
parent e2ea6c5158
commit a44b2423f2
1 changed files with 22 additions and 18 deletions

View File

@ -1,4 +1,6 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h>
#include "sqlite3.h" #include "sqlite3.h"
int main(int argc, char const *argv[]) { int main(int argc, char const *argv[]) {
@ -29,31 +31,33 @@ int main(int argc, char const *argv[]) {
return 1; return 1;
} }
// Write a lot of data {
int nrows = 100000; // Write a lot of data
int batch = 1000; int nrows = 100000;
char tsql[1024]; int batch = 1000;
char tsql[1024];
int v = 0; int v = 0;
for (int k = 0; k < nrows / batch; k++) { for (int k = 0; k < nrows / batch; k++) {
sqlite3_exec(db, "begin;", 0, 0, &err_msg); sqlite3_exec(db, "begin;", 0, 0, &err_msg);
for (int i = 0; i < batch; i++) { for (int i = 0; i < batch; i++) {
v++; v++;
sprintf(tsql, "insert into t values (%d)", v); sprintf(tsql, "insert into t values (%d)", v);
rc = sqlite3_exec(db, tsql, 0, 0, &err_msg); rc = sqlite3_exec(db, tsql, 0, 0, &err_msg);
if (rc != SQLITE_OK) { if (rc != SQLITE_OK) {
fprintf(stderr, "SQL error: %s\n", err_msg); fprintf(stderr, "SQL error: %s\n", err_msg);
sqlite3_free(err_msg); sqlite3_free(err_msg);
sqlite3_close(db); sqlite3_close(db);
return 1; return 1;
}
} }
}
sqlite3_exec(db, "commit;", 0, 0, &err_msg); sqlite3_exec(db, "commit;", 0, 0, &err_msg);
}
} }
sqlite3_close(db); sqlite3_close(db);