我的问题与搜索数据的概念有关。我正在与Laravel开发一个项目。
问题是,哪种方法更高效?从数据库中获取数据并通过PHP进行搜索,或者准备SQL命令并在数据库中进行搜索。
说明:
如果要解释更多,我面对这两种类型的编码:
$result = Model::where()->with()->...->paginate();
对方道:
$result = Model::all();
$result->filter(function ($items) use ($search) {
return ...;
});
当然,这些代码很简单。
谢谢
2条答案
按热度按时间rhfm7lfc1#
这将有助于你如何衡量效率-更快地编写,更容易理解,更快地运行,等等。
如果可能,我会选择在数据库中执行。
假设您要搜索10万条记录。
WHERE
子句,记录的数量将非常少,并且在网络上很容易。这是因为过滤器将被应用到适当的位置。话虽如此,我也遇到过不能在数据库级过滤而必须在应用程序级过滤的情况,不用说,它们非常慢。
ccrfmcuu2#
就性能而言,使用SQL查询搜索数据是最佳做法,但这取决于您的情况。