Doctrine 1.2 Nested Set 真的很慢。我该如何改进它。(NestedSet)
我使用 Doctrine 1.2 执行一个简单的查询。
这是查询。
$cat = Doctrine_Core::getTable('Model_Category')->find($CatID);
if( isset($cat) && $cat->getNode()->hasChildren())
$this->view->CategoryTree = $cat->getNode()->getChildren();
为什么这么慢?
任何人都有一个解决方案来获得更好的性能。
谢谢
I perform a simple query with Doctrine 1.2.
Here is the query.
$cat = Doctrine_Core::getTable('Model_Category')->find($CatID);
if( isset($cat) && $cat->getNode()->hasChildren())
$this->view->CategoryTree = $cat->getNode()->getChildren();
Why this is so slow ?.
Anybody has a solution to get a better performance of it.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当我对我的应用程序进行基准测试时,我发现使用 Doctrine_Core::HYDRATE_ARRAY 会产生很大的差异。当仅在 View 中使用时,这通常是有意义的。
如果您需要更复杂的嵌套集,那么使用 Doctrine_Query 可能是更好的选择。
你想要的可能是这样的查询:
如果你使用 Ubuntu,Xdebug 分析会非常有帮助:
然后:
在 xdebug.ini 中我有:
记住创建目录:
然后我使用 KCachegrind 查看输出,希望这有帮助
When I benchmarked my app I found that using the Doctrine_Core::HYDRATE_ARRAY made a big difference. When only using in View this often makes sense.
If you need more complex nested sets it may be a better option to just use the Doctrine_Query.
What you want is probably a query something like this:
Xdebug profiling can be very helpful, if your using Ubuntu:
Then:
In xdebug.ini I have:
Remember to create the dir:
Then I use KCachegrind to look at the output, hope this helps