4

我目前正在为 iPhone 开发一个项目,该项目需要访问存储在本地 sqlite 数据库中的大量分层数据。更常见的操作之一是计算汇总状态字段。现在,我通过递归遍历该项目的所有后代(可以是 1 到 n 层深的任何地方)来做到这一点。然而,这最终需要大量的 sql 调用。iPhone 上的每个 sqlite 调用大约需要 250 毫秒才能完成,最后这加起来大约需要 7.7 秒的处理时间。有没有人有任何建议在少于 O(n) 的时间内做这样的事情?我认为问题的根源在于正在进行的大量 sql 调用,所以这就是我想要减少的。

4

1 回答 1

2

您需要一个不同的表组织。查看在 MySQL 中管理分层数据或查看Joe Celko 的书

于 2009-05-06T22:32:14.157 回答