iOS:FMDB 问题向数组添加大量数据

Posted

技术标签:

【中文标题】iOS:FMDB 问题向数组添加大量数据【英文标题】:iOS: FMDB questions adding a lot of data to an array 【发布时间】:2017-07-05 19:18:43 【问题描述】:

我从数据库中获取了大量数据。这是我正在做的一个例子。

NSMutableArray *array = [[NSMutableArray alloc] init];

FMResultSet *s = [db executeQuery:@"SELECT * FROM myTable"];
while ([s next]) 
     NSString *idNumber = [result stringForColumn:@"id"];
     [array addObject:idNumber];

但是,有一个问题让我感到紧张。如果我需要从数据库中获取大量数据怎么办?这会导致任何内存问题或严重减速吗?如果是这样,确保不会发生此问题的最佳方法是什么。

【问题讨论】:

您自己回答了您的问题。只是不要抓取大厅数据。使用过滤器WHERE 如果我需要获取大量数据怎么办?这种情况很少发生,但有时我需要获取所有数据并确保我的 Array 与数据库保持同步。 如果是这样,请使用后台线程,以确保您不会吃掉主线程的资源。 【参考方案1】:
    尝试使用带有过滤器的查询WHERE 使用后台线程 您只使用了id 字段,因此无需获取所有其他字段:请改用SELECT id FROM myTable

【讨论】:

谢谢,非常感谢。 其实我还有最后一个问题。将那么多 id 加载到数组中会导致任何内存问题。我没有注意到,只是想确定一下。 对于任何常规用途来说应该是相当安全的。

以上是关于iOS:FMDB 问题向数组添加大量数据的主要内容,如果未能解决你的问题,请参考以下文章

iOS Swift 插入 sqlite FMDB

使用 FMDB 和 NSDictionary 向 SQLite 数据库添加 NULL 值

iOS FMDatabase 本地数据库的创建和几个基本使用方法

向核心数据添加大量数据,同时保持 UI 响应式

iOS 向大量用户推送通知

用存储过程向数据库添加大量数据mysql