你知道Ruby on Rails多態關係有哪些優點和缺點?Ruby on Rails多態關係的優缺點
回答
優點:
- 你可以到任何鏈接什麼很容易
- 適應關係有助於容納不可預見的情況
- 很容易實現關係
- 偉大的即席系統
缺點:
- 外鍵不實用
- 指標包括複雜的另一個維度
- 硬表之間的關係用STI 時識別
- 數據庫的繪圖工具,不能解釋
- 並不總是可行的加盟模式
- 強烈不鼓勵用於必須驗證數據完整性的系統
我很喜歡使用這種關係來記錄根據需要附加到大量內容的記錄,例如,可能適用於各種記錄的註釋或註釋記錄。
它不是非常適合於經常在JOIN中執行關係的情況。也就是說,多態關聯不應該處於記錄之間關係的中間,而應該是外圍的某種關係。
您可以詳細說明爲什麼它不適合處於記錄之間關係的中間嗎?外鍵不實用,但完整性是在Rails層而不是DB處理的,對吧? – Turadg 2012-11-06 15:49:21
在中間使用多態關聯意味着您的連接條件至少有三個組件,如果兩個關係都是多態的,則有四個組件。這可能會對性能產生嚴重的不利影響,因爲索引大小可能會隨着所涉及密鑰中元素的數量而顯着增加。更新的索引變得更加昂貴,所以僅索引所需的最小值是有利的。與往常一樣,花時間將任何建議的數據庫結構與大量代表您系統規模的數據進行基準比較。 – tadman 2012-11-06 17:10:19
非常明確的答案,謝謝。 – Turadg 2012-11-07 19:27:59
- 1. 優點和缺點 - Ruby on Rails
- 2. Ruby on Rails的缺點
- 3. 多對多關係ruby on rails 3
- 4. Ruby on Rails - n:m多對多關係
- 5. Ruby on Rails的有很多關係表
- 6. 關係Ruby on Rails的
- 7. Ruby on Rails的關係
- 8. Ruby on rails的關係
- 9. Ruby on Rails:多重多態關聯
- 10. Ruby on Rails中的多態關聯
- 11. Ruby on Rails查詢一對多關係
- 12. Ruby on rails一對多關係
- 13. 多個Ruby on Rails模型關係
- 14. Ruby on Rails有很多關係
- 15. Ruby on Rails:一對多關係視圖
- 16. Ruby on Rails表關係
- 17. Ruby on Rails模型關係
- 18. Ruby on Rails和mongoid。關係
- 19. Ruby on Rails關係模型
- 20. Ruby on Rails車型關係
- 21. Ruby on Rails - 模型關係
- 22. Ruby on Rails has_many:通過多態關聯
- 23. 的Ruby on多重選擇與很多Rails的許多關係
- 24. Ruby on Rails的SQL優化
- 25. 模型Ruby on Rails中的關係
- 26. Ruby on Rails的爲HAS_ONE關係
- 27. 在Ruby on Rails中的關係
- 28. Ruby on Rails中的模型關係
- 29. Ruby on Rails的關係煩惱
- 30. Ruby on Rails的關係參考節約
不會把它作爲答案,因爲我沒有看過它,但這似乎是相當大的文章在這個主題:http://robots.thoughtbot.com/post/159809241/whats-the -deal-with-rails-polymorphic-associations – 2009-11-25 20:23:28