【问题标题】:iOS: FMDB questions adding a lot of data to an arrayiOS:FMDB 问题向数组添加大量数据
【发布时间】: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 与数据库保持同步。
  • 如果是这样,请使用后台线程,以确保您不会吃掉主线程的资源。

标签: ios sql objective-c nsmutablearray fmdb


【解决方案1】:
  1. 尝试使用带有过滤器的查询WHERE
  2. 使用后台线程
  3. 您只使用了id 字段,因此无需获取所有其他字段:请改用SELECT id FROM myTable

【讨论】:

  • 谢谢,非常感谢。
  • 其实我还有最后一个问题。将那么多 id 加载到数组中会导致任何内存问题。我没有注意到,只是想确定一下。
  • 对于任何常规用途来说应该是相当安全的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-07
  • 1970-01-01
  • 1970-01-01
  • 2021-07-08
  • 1970-01-01
  • 1970-01-01
  • 2011-10-07
相关资源
最近更新 更多