【发布时间】:2009-07-05 09:19:31
【问题描述】:
我曾经基于 python 框架 Django 开发过几个项目。它极大地改善了我的生产。但是当项目发布后,访问者越来越多,db就成为了性能的瓶颈。
我尝试解决这个问题,发现是 ORM(django) 让它变得如此缓慢。为什么?因为无论您使用什么数据库后端,Django 都必须为程序员提供统一的接口。所以它肯定会牺牲一些 db 的性能(将一个原始 sql 制作成几个 sql,并且从不使用特定于 db 的操作)。
我想知道 ORM 绝对有用,它可以:
- 为程序员提供统一的 OO 接口
- 使 db 后端迁移更容易(从 mysql 到 sql server 或其他)
- 提高代码的健壮性(使用ORM意味着更少的代码,更少的代码意味着更少的错误)
但是如果我没有迁移的需求,那么ORM对我来说意味着什么?
ps。最近朋友告诉我,他现在所做的只是将ORM代码重写为原始sql以获得更好的性能。太可惜了!
那么除了我上面提到的之外,ORM 的真正含义是什么? (如果我犯了错误,请纠正我。谢谢。)
【问题讨论】:
-
我认为你的意思不是“意义”,而是“价值”?