当前位置: 代码迷 >> 其他数据库 >> c++代码中如何最快速获取sqlite数据库某表中总条数,并且效率最高?
  详细解决方案

c++代码中如何最快速获取sqlite数据库某表中总条数,并且效率最高?

热度:1200   发布时间:2016-05-05 08:24:33.0
c++代码中怎么最快速获取sqlite数据库某表中总条数,并且效率最高??
c++代码中怎么最快速获取sqlite数据库某表中总条数,并且效率最高??

我们项目使用开源的sqlite3.c,CppSqlite3.cpp中函数来对创建sqlite数据库表。
现在,我需要在往一张表循环写入数据之前,首先获取当前表中已存在的所有数据条数。
条件时,效率比较高。

创建表方式以及表结构如下:
         CppSQLite3DB m_db;
         std::string sql = "create table ";
         sql += TableName_Service();
sql += "(id integer primary key autoincrement,"
                " sevname text not null,"
                " sevitem text not null,"
                " sevrecordval text not null,"
                " sevcurval text not null,"
                " date timestamp not null);";
         m_db.execDML( sql.c_str() );

目前我的思路是执行一个select*语句,然后获取结果集。
   //构造SQL
   std::string sql = "select * from ";
   sql += TableName_Service(); 
   sql += " where id not NULL;";
 
   CppSQLite3Table t = m_db.getTable( sql.c_str() );
   __int64 nSum = (__int64)t.numRows();

请问大家,还有其他比较好的方式吗?多谢大家。

------解决方案--------------------
没有,COUNT(*),除非ID是连续没有缺失
------解决方案--------------------
std::string sql = "select count(*) from ";

然后直接取出结果得数。
  相关解决方案