跳至主要內容
SQLite性能优化

SQLite性能优化

场景描述

有10000条数据需要插入数据库,原来未优化的代码为直接循环执行INSERT语句。

void test0()
{
    sqlite3 *db = NULL;
    sqlite3_open("test0.db", &db);
    auto begin = std::chrono::steady_clock::now();
    sqlite3_exec(db, "CREATE TABLE Test(id INTEGER,msg TEXT);", 0, 0, 0);
    const int m = 10000;
    for (int i = 0; i < m; i++)
    {
        sqlite3_exec(db, "INSERT INTO Test(id,msg) VALUES(123,'hello');", 0, 0, 0);
    }
    auto end = std::chrono::steady_clock::now();
    auto elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(end - begin).count();
    printf("test0执行时间: %ld ms\n", elapsed);
    sqlite3_close(db);
}

CODEVK大约 3 分钟数据库SQLite