版本化行为是否会影响Doctrine 1.2.4中的查询速度?

时间:2014-01-13 09:44:42

标签: symfony-1.4 doctrine-1.2

我看到使用Doctrine :: getTable()并使用它运行查询的奇怪行为。

在某些情况下几乎没有开销,而在其他情况下,首次调用Doctrine :: getTable()时会有200 + ms的开销(尽管对后续调用同一个表的开销很小)。

这个动作就像这样。

一个。调用DoctrineTable来运行查询(有问题的表用于生成操作模块文件),table A几乎没有开销 湾表格已保存 C。调用DoctrineTable来对不相关的表(table B)运行查询,并且具有相当大的开销(200 + ms) d。在另一个表(DoctrineTable)上调用table C来运行另一个查询,几乎没有开销

我已尝试删除步骤c中DoctrineTable查询的操作以查看它是否是一般加载问题,但步骤d中的查询仍然以很少或没有开销运行。我直接在操作中使用Doctrine_Query运行查询,看看是否有所不同,速度影响仍然存在。

问题表上的查询是什么并不重要,存在相同的开销/性能损失。

与慢表(table B)的唯一区别在于它具有可版本化的行为,而其他表(table Atable C则没有)。这可能会影响初始查询的速度(一旦完成第一个查询,对该表的后续查询就会很快)?

1 个答案:

答案 0 :(得分:0)

因此,经过更多的挖掘和测试,我可以确认表上的Versionable行为会增加在该表上运行查询(和插入)时的开销。