请教一个问题,当我们用 Laravel 联表查询的时候,开销是什么样的?

比如主表有500条记录,副表有1000条记录,时间复杂度是多少?

return $this->hasOne('/User','article_id','id');

另外,为什么从表的关联键最好设置为主键id?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

如无变动,Laravel 5.8 的版本是用 where exists 实现这个关联查询的。

你可以安装 Telescope 监听每个调用实际产生的 SQL 语句,放到 MySQL 查询器中用 Explain 命令分析一下查询计划,就可以预估时间复杂度和空间复杂度

6年前 评论
wwzh (楼主) 6年前
讨论数量: 1

如无变动,Laravel 5.8 的版本是用 where exists 实现这个关联查询的。

你可以安装 Telescope 监听每个调用实际产生的 SQL 语句,放到 MySQL 查询器中用 Explain 命令分析一下查询计划,就可以预估时间复杂度和空间复杂度

6年前 评论
wwzh (楼主) 6年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!