我看到奇怪的行爲與使用Doctrine :: getTable()並運行查詢使用它。可版本化的行爲會影響Doctrine 1.2.4中的查詢速度嗎?
在某些情況下,很少或沒有開銷,而在其他情況下,Doctrine :: getTable()首次調用時(儘管對同一表的後續調用的開銷很小),開銷爲200 + ms。
這個動作是這樣的。
a。調用DoctrineTable
來運行查詢(有問題的表用於生成操作模塊文件),而在table A
b上幾乎沒有開銷。表格已保存 c。調用DoctrineTable
以在不相關的表上運行查詢(table B
),並且具有相當大的開銷(200 + ms) d。 DoctrineTable
叫上另一個表(table C
)運行很少另一個查詢到沒有開銷
我試着在步驟c DoctrineTable
查詢作用去掉,看它是否是一般負荷的問題,但在步驟d查詢仍然運行很少或沒有開銷。我直接在動作中使用Doctrine_Query
運行查詢,看看是否有所作爲,速度的影響仍然存在。
無論問題表上的查詢是什麼,相同的開銷/性能損失都在那裏。
慢速表(table B
)唯一的區別是它具有可版本化的行爲,與其他表(table A
和table C
沒有)一樣。這可能會影響初始查詢的速度(一旦完成第一個查詢,對該表的後續查詢就會很快)?