只是有興趣,也許有人可能知道這一點。如果我使用延遲加載來獲取所有屬性,關係等等,則對數據庫進行約350次查詢,完全呈現頁面需要大約2秒。如果我使用多個連接創建一個大型查詢來獲得所有我需要的關係,那麼這會造成〜20個查詢,其中一個非常大,問題是這個大型查詢第一次需要大約10秒才能執行,之後它會被緩存,速度更快,整個頁面加載時間大約爲1.5秒,但問題是每個用戶對該查詢都有不同的參數,因此每個用戶第一次使用它的時間爲10秒。爲什麼第一次使用這麼久?doctrine2多查詢VS加入
-1
A
回答
0
請問,如果您使用的是存儲過程?我添加了一個使用存儲過程https://docs.oracle.com/cd/F49540_01/DOC/java.815/a64686/01_intr3.htm的優點的鏈接。你能給不同的用戶提供一些參數的例子嗎?
感謝
0
當你給的數據基礎架構沒有任何信息,數據大小等參數是非常難以確定的糟糕表現的根本原因。但是,StackOverflow中有another answer這可能是進一步調查的一個很好的起點。
一般考慮以下幾個問題展開調查/優化:
- 你真的需要你從數據庫中獲取(一次)的信息?
- 數據庫是否針對您執行的查詢進行了優化?
- 您需要多久執行一次查詢?如果緩存它們,緩存的使用頻率有多少?
相關問題
- 1. Doctrine2:SUM在左加入查詢
- 2. 嵌套查詢VS加入
- 3. Doctrine2隨機查詢
- 4. Doctrine2 QueryBuilder加入
- 5. 性能子查詢VS加入
- 6. SQL加入Vs SQL子查詢(性能)?
- 7. 多表查詢加入
- 8. JPA多個查詢加入
- 9. 查詢加入時最多
- 10. 加入一對多查詢
- 11. 訪問加入Doctrine2
- 12. Doctrine2 +加入條件
- 13. SQL查詢時間複雜度 - 加入VS子查詢
- 14. 的MySQL查詢優化三重加入VS嵌套查詢
- 15. SQL Server查詢性能 - 普通加入VS子查詢
- 16. 如何Doctrine2查詢的WHERE =
- 17. ZF2 +查詢實體Doctrine2
- 18. Symfony2中的Doctrine2查詢
- 19. 來自子查詢的Doctrine2
- 20. Symfony - doctrine2中的子查詢
- 21. doctrine2減去子查詢值
- 22. 查詢表vs進入表
- 23. 學說1.2查詢加入多對多
- 24. MySQL查詢 - 加入查詢
- 25. 加入有條件與Doctrine2
- 26. 查詢加入
- 27. 加入查詢
- 28. 加入查詢
- 29. 多凡VS內加入
- 30. 加入vs更多列
不,我沒有使用它們,因爲我的網站仍在不斷髮展,我可能需要多次更改數據庫結構,目前它不是那麼大的問題,但我對未來有點想。 關於參數: 被阻止的用戶。因爲我正在使用其他查詢和。 – user2118788 2014-11-22 20:18:45
@ user2118788如果要獲取大量結果,最好開始使用存儲過程,因爲它們會提高查詢的性能。這只是一些需要思考的問題。如果查詢數量增加,將所有查詢轉換爲存儲過程的任務將變成一件龐大的事情。 – mfredy 2014-11-24 11:07:10