问题描述
在获取文章列表中,想要显示创建文章的用户姓名,一般是根据leftjoin获取还是循环获取的数据再去根据uid去查用户表?
2 回答
守着星空守着你
TA贡献1799条经验 获得超8个赞
为什么要循环获取的数据呢?(不要在循环里执行sql啊喂)
你可以用array_unique(array_column())
取出文章表的用户id,
然后用in 用户id
的方式查询出用户的id对应的名字,再遍历文章表增加文章作者名字
这也是一种方式。谁快谁慢,我还真没测试过。
关联查询的时候,会锁表,高并发的时候,会造成一定的性能影响。
但是,有句话不是说么,应当尽量减少数据库的操作次数。这里还是有取舍的
总之还是看你们具体的业务情况吧
幕布斯7119047
TA贡献1794条经验 获得超8个赞
left join去获取比循环根据uid查用户表快很多, 目前手上的项目有些列表就是查完之后再一条条去查用户名, 有时候一个表甚至要查好几分钟. 改成联合查询之后, 速度和跑一条sql的速度差不多, 基本是秒查
- 2 回答
- 0 关注
- 419 浏览
添加回答
举报
0/150
提交
取消