gpt4 book ai didi

laravel - Eloquent ORM 性能

转载 作者:行者123 更新时间:2023-12-04 17:50:32 24 4
gpt4 key购买 nike

我刚刚在 Laravel 中测试了 Eloquent ORM 的性能,并惊讶地发现一个简单的查询需要 3 秒以上的时间来执行,而正常的 Laravel 查询只需要 0.1 秒即可完成。我只返回 1500 条记录。

DB::table('t_organisations')->get();  -  0.12253594398499 seconds
Organisation::all(); - 3.6389181613922 seconds

这肯定不正常吧!?我认为我没有遗漏任何设置。我的数据库已标准化。可能是什么问题呢?

最佳答案

当你做
DB::table('t_organisations')->get();
它将所有结果作为数组(或对象)获取,但不会将它们混合到模型中。见 this stackoverflow answer如果你想快速解释一下。

当你做
Organisation::all();
水化过程发生,这就是为什么请求需要更长的时间(您必须分配内存中的所有对象并用字段填充它们)。有很多关于 hydration 优化的链接/tuts 可以帮助您更好地请求数据库,并避免在不需要时对象的 hydration。

关于laravel - Eloquent ORM 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17546779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com