通过PHP与SQL搜索数据的性能比较

x3naxklr  于 2022-12-10  发布在  PHP
关注(0)|答案(2)|浏览(139)

我的问题与搜索数据的概念有关。我正在与Laravel开发一个项目。
问题是,哪种方法更高效?从数据库中获取数据并通过PHP进行搜索,或者准备SQL命令并在数据库中进行搜索。
说明:
如果要解释更多,我面对这两种类型的编码:

$result = Model::where()->with()->...->paginate();

对方道:

$result = Model::all();
$result->filter(function ($items) use ($search) {
    return ...;
});

当然,这些代码很简单。
谢谢

rhfm7lfc

rhfm7lfc1#

这将有助于你如何衡量效率-更快地编写,更容易理解,更快地运行,等等。
如果可能,我会选择在数据库中执行。
假设您要搜索10万条记录。

  • 如果您要在应用程序级别进行筛选,那么所有这100 K条记录都必须通过网络发送,只有这样您才可以进行搜索。
  • 对于WHERE子句,记录的数量将非常少,并且在网络上很容易。这是因为过滤器将被应用到适当的位置。

话虽如此,我也遇到过不能在数据库级过滤而必须在应用程序级过滤的情况,不用说,它们非常慢。

ccrfmcuu

ccrfmcuu2#

就性能而言,使用SQL查询搜索数据是最佳做法,但这取决于您的情况。

相关问题