0
我正在開發基於Hibernate的數據庫訪問和持久層。必須使用hibernate模塊的應用程序必須執行具有多個連接的非常複雜的查詢。Hibernate優化,使用二級緩存?
我必須根據其他客戶購買的物品推薦物品,因此很難將其存儲在緩存特定的數據中,因爲推薦是具體的,並且緩存未命中的百分比將非常高。
我測試了性能,我觀察到所有工作都很慢,我使用Mysql 5,Hibernate 4和C3P0連接提供程序。我應該使用基於EHCACHE的二級Hibernate緩存系統嗎? Memcached是一個很好的解決方案嗎?有沒有其他方法可以提高Hibernate的性能?
感謝您的建議和幫助。
我儘可能地優化了查詢。如果我在Mysql Workbench中測試查詢,它運行速度慢,但不像Hibernate那樣慢。問題在於緩存推薦並不容易。 – amartin 2013-03-25 09:01:31
使用explain選項作爲您的選擇查詢的前綴,以查看和分析mysql工作臺的執行計劃。例如:解釋select * from user where id = 5;你看到使用索引列的訪問嗎? – maggu 2013-03-25 09:04:58
是的,我不知道這個Mysql功能。謝謝。但我不是Mysql專家,我不知道應該看哪些參數來改進查詢。我可以在額外的專欄中看到正在使用的索引。 – amartin 2013-03-25 09:47:57