3
我想了解使用HQL或SQL語句,就簡單性,複雜性和性能查詢數據庫的意見。Grails的HQL VS SQL語句
我想了解使用HQL或SQL語句,就簡單性,複雜性和性能查詢數據庫的意見。Grails的HQL VS SQL語句
隨着HQL您在操作上一類基於域的水平,並在關係模型級SQL。通過HQL,您可以在查詢和SQL中遍歷域模型,從而創建帶有更加冗長的連接和連接條件的鏈接。
而且當你對象直接進行,而與SQL您可以表格視圖關係數據與HQL的預測是簡單。
優化HQL是比較困難的,因爲你需要在很多層面(域級別,休眠,生成的SQL,關係模型)進行操作,但主要是你可以用更少的代碼管理。
SQL結果不是類型安全的,但是這因爲它會在一個Java背景其實並不重要,儘可能在Grails的環境。
+1。我會補充說,使用Hibernate爲您提供了一級緩存(強制性)和二級緩存(可選),這可以真正提高性能。 –
很好的答案。你也可以談論懶惰和渴望的選擇,如果你對你的HQL不小心,可能會導致性能下降。 –