Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory leaks 将数据插入sqlite数据库时内存泄漏?_Memory Leaks_Sqlite - Fatal编程技术网

Memory leaks 将数据插入sqlite数据库时内存泄漏?

Memory leaks 将数据插入sqlite数据库时内存泄漏?,memory-leaks,sqlite,Memory Leaks,Sqlite,我在BuildRootLinux上有一个简单的sqlite函数和SQLiteCpp,如下所示,它在数据库中插入一行,并将每秒调用一次,因此我保持数据库打开。我发现内存使用率一直在增加,是因为我保持数据库打开吗?我应该每秒钟关一次吗--谢谢 boolsdb::InsertData(常量数据*Data) { std::vector tags=data->GetTags(); 试一试{ 语句查询(mDb),“插入测试(序列号,生成,消耗)值('01',0,0);”; exec(); }catch(s

我在BuildRootLinux上有一个简单的sqlite函数和SQLiteCpp,如下所示,它在数据库中插入一行,并将每秒调用一次,因此我保持数据库打开。我发现内存使用率一直在增加,是因为我保持数据库打开吗?我应该每秒钟关一次吗--谢谢

boolsdb::InsertData(常量数据*Data)
{ 
std::vector tags=data->GetTags();
试一试{
语句查询(mDb),“插入测试(序列号,生成,消耗)值('01',0,0);”;
exec();

}catch(std::exception&e){std::只有当分配的内存无法再访问时,才会发生泄漏。您认为为什么会出现这种情况?(插入时,数据库和缓存将增长。)“是因为我保持数据库打开吗?”--如您所建议的,您可以通过关闭连接来查看是否有帮助,从而进行简单的检查。。
bool Sdb::InsertData(const Data* data)
{ 
  std::vector<std::string> tags = data->GetTags();

  try {
    SQLite::Statement query(mDb, "INSERT INTO test (serial_no, generation, consumption) VALUES ('01', 0, 0);");
    query.exec();
  } catch (std::exception& e) {std::cout << "exception happened: " << std::endl;
return false;
  }
std::cout << serial_no << " " << timestamp << " "
          << generation << " " << sqlite3_memory_used() << std::endl;
return true;