我正在使用Propel 1.6.7-dev,并在嵌套集中维护2个树(每个树都有不同的范围列)。目前,我们每套约有20K项目(总共约40,000条记录)。
我可以随意重建数据库,并定期执行(处理某些大树更改)。
现在,这需要大约50米才能完成,我想知道如何加速它(如果这个尺寸增加一倍,时间可能会变得太大,经常重建)。
现在,我是:
我已尝试将引擎从MyISAM更改为MEMORY,构建树,然后转换回MyISAM。但是,我的内存不足了:
PHP致命错误:第433行的vendor / propel / runtime / lib / adapter / DBAdapter.php中允许的内存大小为134217728个字节(试图分配72个字节)
有什么建议吗?
答案 0 :(得分:0)
嵌套集算法在很大程度上依赖于“左”和“右”列上的WHERE
子句,以维护树的正确结构。如果您的查询越来越慢,因为您有更多节点,解决方案可能是在这些列上添加索引。