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

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top