获取用户姓名用leftjoin还是循环查库

问题描述

在获取文章列表中,想要显示创建文章的用户姓名,一般是根据leftjoin获取还是循环获取的数据再去根据uid去查用户表?

噜噜哒
浏览 420回答 2
2回答

守着星空守着你

为什么要循环获取的数据呢?(不要在循环里执行sql啊喂)你可以用array_unique(array_column())取出文章表的用户id,然后用in 用户id的方式查询出用户的id对应的名字,再遍历文章表增加文章作者名字 这也是一种方式。谁快谁慢,我还真没测试过。关联查询的时候,会锁表,高并发的时候,会造成一定的性能影响。但是,有句话不是说么,应当尽量减少数据库的操作次数。这里还是有取舍的总之还是看你们具体的业务情况吧

幕布斯7119047

left join去获取比循环根据uid查用户表快很多, 目前手上的项目有些列表就是查完之后再一条条去查用户名, 有时候一个表甚至要查好几分钟. 改成联合查询之后, 速度和跑一条sql的速度差不多, 基本是秒查
打开App,查看更多内容
随时随地看视频慕课网APP