拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 Laravel非常慢的雄辩查询

Laravel非常慢的雄辩查询

白鹭 - 2022-03-07 2084 0 0

我需要使用 Laravel 查询从数据库中获取目录,所以我简单地写:

   $catalogs = Catalog::where('shop_id', $shop->id)->latest()->get(['id','title', 'created_at', 'shop_id', 'cover_bg', 'frontpage', 'pdf', 'clicks', 'finished']);

在目录表中,我有 100 多列 - 其中 2 列是 type longtext。目录当前包含大约 14000 条记录,并且获取资料非常慢:

这是 phpMyAdmin 的执行时间

Laravel 非常慢的雄辩查询

这是 Laravel 查询执行时间: Laravel 非常慢的雄辩查询

如何加快查询速度?我认为 14 000 条记录不是大表。此外,如您所见,我尽量避免使用长文本列,因此我没有获取它们。

是服务器性能问题还是其他问题?

CPU也很低: Laravel 非常慢的雄辩查询

uj5u.com热心网友回复:

我认为您可以通过将索引陈述句添加到表结构中的 shop_id 来加快查询速度。访问https://www.sqlshack.com/sql-index-overview-and-strategy/

uj5u.com热心网友回复:

尝试切换到使用原始查询,而不是使用 Eloquent DB::select(DB::raw('...'))

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *