前端技术 手机教程
程序开发 平面动画
系统软件 CMS教程
CMS教程 在线手册
资源下载 网络安全
精准搜索请尝试:精确搜索

Laravel whereHas查询特别慢(性能差)的解决办法

2021-09-07 15:41:29 来源:原创 作者:寂静的神经

Laravel 的模型关联功能提供了功能强大的数据库操作封装,其中 whereHas 方法可以简洁明了将「where」条件放到 has 查询上。这些方法允许你向关联加入自定义约束。

但是在 whereHas 方法会全表扫描做表, 在生成 SQL 的时候会使用 select * from A where exists ( select * from B where ... ) 。当我们的左表远远大于右表时,A 表就成了性能瓶颈。导致查询非常缓慢。

解决办法:

1.whereHas性能调优——采用 where in 语法实现优化 查询关联

2.[扩展包] Laravel-wherehasin 提升 ORM 关联关系查询性能 (优化 whereHas 性能)

3.手写sql,避免使用 where exists,而是使用 where in

本文关键词:laravel 查询 whereHas

相关文章

零五网,分享IT知识,国内顶级IT知识门户网站。

Copyright (C) www.02405.com, All Rights Reserved.

零五网 版权所有 辽ICP备13002105号-1