论文阅读 - ORM 反模式

查看原文

这篇论文通过分析 12 款 ORM 软件的很多修复性能问题的 BUGS / ISSUES,得出了 9 种造成低性能的反模式。测试方法很简单,灌大量数据,看性能。半数是 ORM 内部 API 没调用对,比如 Ruby 中把 any? 替换成 empty? 可以更快,添加了不必要的 LIMIT 1,一些计算可以不用再 DBMS 中做,一些不适合在应用中做。一些问题是产生了不必要的 Queries,或者没做 Batch,或者 Batch 了太多数据,或者索引没搞对。问题都是出在细枝末节的地方,但林林总总加起来,会导致很客观的性能提升。