学说减慢了表现

时间:2018-01-02 12:40:12

标签: mysql doctrine-orm symfony-3.4

应用程序:Symfony3.4

ORM:Doctrine2

(我也可以给你配置web服务器)

我遇到了由学说i.stack.imgur.com/7B024.png

引起的性能问题

查询执行时间为1685.69 ms i.stack.imgur.com/VBEJt.png

然后我通过My​​SQL控制台运行相同的查询并获得不同的性能结果(115毫秒)i.stack.imgur.com/1lNgv.png

任何猜测?

2 个答案:

答案 0 :(得分:2)

如果执行相同的查询,首先从doctrine执行,然后直接执行。然后查询缓存将使第二个查询运行得非常快。

答案 1 :(得分:0)

我刚刚发现了造成差异的原因。

我使用的是PHPStorm的数据库控制台。

我尝试通过终端运行查询并得到相同(慢)的结果。

查询的难点是CASE语句中的WHERE

我用CASE更改了IFNULL(p0_.updated_at, p0_.created_at)(查询仍然很重)

最后尝试了下一个:WHERE p0_.created_at >= '2018-01-02 00:00:00' AND p0_.created_at <= '2018-01-02 23:59:59'(结果大约100毫秒)

我不知道PHP Storm做了什么,但这很奇怪。

感谢您的关注@ frederik-banke-sørensen!