QT中的SQLite:我是否应该在运行每个查询后关闭数据库?有什么含义

时间:2014-03-24 16:11:26

标签: database qt sqlite

我想了解是否应该在运行每个查询后关闭数据库?这意味着什么。

这是一些元代码:

{
if (m_databaseProvider.openDatabase()) {
    QSqlQuery query(m_databaseProvider.database());
    query.prepare(SQL_SELECT_LOCATIONS);
    query.exec();

    // iterate the result and return list
    while (query.next()) {
           .....
    }
  m_databaseProvider.closeDatabase();
} else {....}

}

这种方法有什么缺点吗?

例如,Android上QT应用程序的最佳推荐是什么?

谢谢

1 个答案:

答案 0 :(得分:0)

关闭数据库会丢弃其页面缓存,并要求在重新打开数据库结构时重新读取数据库结构以进行下一次查询。

在实践中,除非您进行许多小型查询,或者在CPU较弱或内存较小的小型设备上,否则您不太可能发现任何差异。