sqlite3_step()在执行内连接时退出iPhone应用程序 - 内存问题

时间:2011-06-16 13:29:25

标签: iphone sqlite

我有一个包含多个表的db文件,每个表至少有20k条记录。现在我正在尝试使用sqlite3在iPhone中执行内连接查询。

SELECT DISTINCT  abc.id, abc.full_name FROM abc INNER JOIN xyz ON abc.id = xyz.id limit 10 ;
sqlite3_stmt *selectstmt;
if(sqlite3_prepare_v2(database, sql, -1, &selectstmt, NULL) == SQLITE_OK) {
   while(sqlite3_step(selectstmt) == SQLITE_ROW) {
        // populating my custom objects
   }
}

当我使用行数较少的表尝试相同的查询时,sqlite3_step()命令工作正常。

如果有人能够在声明执行过程中明确指出它究竟发生了什么,那就太棒了。在执行查询之前是否将整个表加载到内存中,如果是,那么最大值是多少。执行内部联接时限制表中的记录数。

当我尝试从一个包含50k记录的表中获取记录时,其工作正常,没有任何问题。

提前致谢

Sudheer

0 个答案:

没有答案