2011-12-02 26 views
0

致命錯誤內存耗盡:用盡134217728個字節允許內存大小。學說獲取對象創建在約4000對象

在有些情況下,我需要創建的數以千計的結果10的少數情況,但顯然這是造成巨大的內存問題。有沒有減少對大型查詢集內存中的任何方式?

回答

1

這取決於你將如何使用結果:

  • 如果你不需要的結果作爲對象,但數組就足夠了,你 可以改變水化模式: ->setHydrationMode(Doctrine::HYDRATE_ARRAY)可用於檢索 數據多維數組(其它水化模式可以發現 上doctrine documentation
  • ,如果你需要的對象的結果(例如在foreach循環)還記得在使用後釋放他們: $myobject->free(); /* if using php 5.2 also unset($myobject) */ 也看在教義docs on performance improving
  • 也禁用調試工具欄上的幫助很大學說收藏了很多:sfConfig::set('sf_debug', false);