为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
噜噜哒 2019-03-08 16:09:19
问题描述 在获取文章列表中,想要显示创建文章的用户姓名,一般是根据leftjoin获取还是循环获取的数据再去根据uid去查用户表?
查看完整描述

2 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

为什么要循环获取的数据呢?(不要在循环里执行sql啊喂)
你可以用array_unique(array_column())取出文章表的用户id,
然后用in 用户id的方式查询出用户的id对应的名字,再遍历文章表增加文章作者名字

这也是一种方式。谁快谁慢,我还真没测试过。
关联查询的时候,会锁表,高并发的时候,会造成一定的性能影响。
但是,有句话不是说么,应当尽量减少数据库的操作次数。这里还是有取舍的
总之还是看你们具体的业务情况吧

查看完整回答
反对 回复 2019-03-18
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

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

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 419 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信