Laravel 可不可以不用那个 ORM

2017-03-21 16:33:25 +08:00
 abcbuzhiming
都说这个 ORM 工具是 laravel 慢的根源,本人从 java 过来的,先用过 hibernate ,然后过度到 mybatis ,因为有这个经历,从来不觉得硬需要一个 ORM 工具,只要数据库访问的接口方便好用灵活就行。 Laravel 的数据可基本操作可有什么非上 ORM 不可的地方吗?如果没有,能不能把 ORM 拆掉以增加速度
5429 次点击
所在节点    PHP
25 条回复
garveen
2017-03-21 16:35:52 +08:00
你可以根本不用, DB 这个 facade 提供了足够的操作数据库的方法
abcbuzhiming
2017-03-21 16:37:40 +08:00
@garveen 那如果我不用这个 ORM ,在一次请求过程中 Laraval 还会加载和 ORM 相关的组件吗?
mooncakejs
2017-03-21 16:38:06 +08:00
可以不用。 equolent 太灵活,刚开始觉得很好用,越来越觉得不好用。
ahkxhyl
2017-03-21 16:44:51 +08:00
你的代码你做主~
lookas2001
2017-03-21 17:54:41 +08:00
autoload 还是会加载到类吧,但是你不用的话不会实例化他的(大概?
jhdxr
2017-03-21 18:11:22 +08:00
@abcbuzhiming 如果把『加载』定义为去 include/require 对应的文件,以及实例化对象。那么你不用到相应的功能,是不会加载的。

@lookas2001 参见 spl_autoload_register , autoload 具体的规则是自己实现的。 composer 所实现的 autoload 的逻辑,在你没有去用到那个类的时候,是不会去读对应的文件的
suren1986
2017-03-21 18:13:22 +08:00
DB:raw('raw sql command');
quericy
2017-03-21 18:29:54 +08:00
可以只用 illuminate 的查询构造器
littleylv
2017-03-21 18:35:21 +08:00
考虑换一个轻量级的框架?
cxbig
2017-03-21 19:02:52 +08:00
LZ 说的太模糊,你用什么方式发现 ORM 慢的?拿数据来说话好么?能不能发代码来让大家看看?
changwei
2017-03-21 19:25:43 +08:00
我只用查询构造器,主要还是简单方便,而且我对原生 sql 的阅读和理解更加快速。

另外说一下, laravel 是按需加载。而且我有用过 xhprof 测过 laravel 的执行流程,最慢的是路由,当然 orm 也不是很快。
orvice
2017-03-21 22:18:14 +08:00
可以,建议 lz 试试看 lumen
wdlth
2017-03-21 22:25:33 +08:00
相比于数据库的查询时间而言, ORM 的耗时其实也不算多少。
当然对于高级 DBA 来说,就是喜欢一点点的玩坏 SQL 。
Felldeadbird
2017-03-22 00:03:41 +08:00
本身不是提供原生 SQL 写法吗?
tcsky
2017-03-22 00:31:00 +08:00
慢的不是 orm,是路由什么的. php 和 java 特性差很多.
dsg001
2017-03-22 08:33:25 +08:00
不用 laravel ,但 orm 只用 equolent
superkey
2017-03-22 08:52:27 +08:00
那为什么要用 laravel 呢
likezun
2017-03-22 09:13:50 +08:00
ORM 用过 propel 和 doctrine , 你没有理解 ORM 才会认为它慢, 简单的说你还不会用
qhxin
2017-03-22 09:40:05 +08:00
eloquent 经常拆出来单独使用
KIDJourney
2017-03-22 09:40:21 +08:00
慢是怎么得出的?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/349178

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX