首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Doctrine查询需要4秒以上的时间才能执行

Doctrine查询需要4秒以上的时间才能执行
EN

Stack Overflow用户
提问于 2009-08-13 11:29:20
回答 2查看 1.3K关注 0票数 1

我们处于项目的最后阶段,并开始对其进行优化。

经过几次测试,我们意识到大多数(如果不是全部)加载页面的时间都花在Doctrine上了。

在5秒的页面加载中,3-4秒仅花费在2个Doctrine查询上。

我们已经在mysql服务器和Doctrine以及结果缓存上启用了查询缓存,但这似乎只会使加载时间变得更糟。

据我所知,mysql查询缓存是活动的:

由于某种原因,我的问题的其余部分消失了,所以我重新张贴/编辑

Qcache_free_blocks | 57

Qcache_free_memory | 22300072

Qcache_hits | 7117

Qcache_inserts | 3308

Qcache_lowmem_prunes |0

Qcache_not_cached | 4537

Qcache_queries_in_cache | 1225

Qcache_total_blocks | 2609

问题是缓存似乎没有命中,花费大部分时间(平均3秒)的查询永远不会改变。

为什么启用查询/结果缓存不会缩短加载时间,有谁有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-10-18 19:28:23

如果我没记错的话,您目前还没有最慢查询的列表。我建议从这里开始。

Turn on slow query logging

代码语言:javascript
复制
log_slow_queries=/var/log/mysql.slow.log

然后:

尽可能多地约束关系

尽可能多地约束关系是很重要的。这意味着:

不必要的关联设置遍历方向(如果possible)

  • Eliminate

,则避免双向关联

这有几个好处:

Doctrine Doctrine减少了域模型中model

  • Simpler代码的耦合(无需维护双向properly)

  • Less work for

Doctrine best practices窃取

票数 2
EN

Stack Overflow用户

发布于 2009-09-09 19:38:53

您是否尝试过从控制台/命令行执行查询?在没有ORM的情况下执行时,它们需要什么时间,这将是很有趣的。

请让我知道,我有兴趣使用Doctrine,但有点害怕性能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1271412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档