都说这个 ORM 工具是 laravel 慢的根源,本人从 java 过来的,先用过 hibernate ,然后过度到 mybatis ,因为有这个经历,从来不觉得硬需要一个 ORM 工具,只要数据库访问的接口方便好用灵活就行。 Laravel 的数据可基本操作可有什么非上 ORM 不可的地方吗?如果没有,能不能把 ORM 拆掉以增加速度
|
garveenMar 21, 2017
1
你可以根本不用, DB 这个 facade 提供了足够的操作数据库的方法
|
|
2
@garveen 那如果我不用这个 ORM ,在一次请求过程中 Laraval 还会加载和 ORM 相关的组件吗?
|
|
mooncakejsMar 21, 2017
3
可以不用。 equolent 太灵活,刚开始觉得很好用,越来越觉得不好用。
|
|
ahkxhylMar 21, 2017
4
你的代码你做主~
|
|
lookas2001Mar 21, 2017
5
autoload 还是会加载到类吧,但是你不用的话不会实例化他的(大概?
|
|
jhdxrMar 21, 2017
6
@abcbuzhiming 如果把『加载』定义为去 include/require 对应的文件,以及实例化对象。那么你不用到相应的功能,是不会加载的。
@lookas2001 参见 spl_autoload_register , autoload 具体的规则是自己实现的。 composer 所实现的 autoload 的逻辑,在你没有去用到那个类的时候,是不会去读对应的文件的 |
|
suren1986Mar 21, 2017
7
DB:raw('raw sql command');
|
|
quericyMar 21, 2017
8
可以只用 illuminate 的查询构造器
|
|
U7Q5tLAex2FI0o0gMar 21, 2017
9
考虑换一个轻量级的框架?
|
|
cxbigMar 21, 2017
10
LZ 说的太模糊,你用什么方式发现 ORM 慢的?拿数据来说话好么?能不能发代码来让大家看看?
|
|
changweiMar 21, 2017 via Android
11
我只用查询构造器,主要还是简单方便,而且我对原生 sql 的阅读和理解更加快速。
另外说一下, laravel 是按需加载。而且我有用过 xhprof 测过 laravel 的执行流程,最慢的是路由,当然 orm 也不是很快。 |
|
orviceMar 21, 2017
12
可以,建议 lz 试试看 lumen
|
|
wdlthMar 21, 2017
13
相比于数据库的查询时间而言, ORM 的耗时其实也不算多少。
当然对于高级 DBA 来说,就是喜欢一点点的玩坏 SQL 。 |
|
FelldeadbirdMar 22, 2017
14
本身不是提供原生 SQL 写法吗?
|
|
tcskyMar 22, 2017
15
慢的不是 orm,是路由什么的. php 和 java 特性差很多.
|
|
dsg001Mar 22, 2017
16
不用 laravel ,但 orm 只用 equolent
|
|
superkeyMar 22, 2017
17
那为什么要用 laravel 呢
|
|
likezunMar 22, 2017
18
ORM 用过 propel 和 doctrine , 你没有理解 ORM 才会认为它慢, 简单的说你还不会用
|
|
qhxinMar 22, 2017 via Android
19
eloquent 经常拆出来单独使用
|
|
KIDJourneyMar 22, 2017
20
慢是怎么得出的?
|
|
iotMar 22, 2017
21
我写复杂的 sql 不用 ORM ,太复杂了,直接用 DB::raw
|
|
ipomMar 22, 2017
22
LZ 用 Phalcon 框架的 ORM 组件吧
|
|
GnailiyLinMar 22, 2017
23
在 laravel 框架上做过测试,结果很意外, eloquent 是最快的,但是耗费内存也是最高的。
|
|
river1007Mar 23, 2017
24
https://github.com/slimphp/Slim 用这个吧。想换啥都行。
|
|
whitecaihongMay 20, 2019
25
http://www.wangsitong.com/index.php/archives/121/ 我做过测试,楼上说哪慢的真的觉得 laravel 是世界上最好的语言的最好的框架么?
|