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

有关php业务逻辑,mysql优化问题

有关php业务逻辑,mysql优化问题

海绵宝宝撒 2018-06-27 14:30:32
有一个usr表存着uid,username业务表1 ,存的信息有字段uid,username业务表2 ,存的信息仅有uid,(业务表2多条数据对应业务表1一条数据)问题出现的环境背景及自己尝试的方法现有:查询遍历业务表2,数据是数组list,还需在list上组装username,以便于前端显示方法一是每一条list根据uid去数据库usr表查询username;方法二是先遍历查询业务表1,用一个空数组arr,key存uid,对应的value存username,遍历list,使用array_key_exists判断uid是否是arr其中一个键,如果是则获取arr[uid],作为username疑问方法二好处就是避免了多次数据库查询username,但是存在疑问用空数组的key存uid,假如uid数值很大,比如10000,这样是不是会涉及到php数组内存问题(这方面知识不是很了解)还想知道方法二是不是还有别的缺点,如果有,是不是有其他更好的处理方法
查看完整描述

3 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

select t2.uid as t2uid,t1.uid as t1uid,t1.username from table2 as t2 join table1 as t1 on t2.uid = t1.uid
这样一次性就查询出结果了,前端遍历展示


查看完整回答
反对 回复 2018-07-14
?
不负相思意

TA贡献1777条经验 获得超10个赞

了解下多表联查,或者直接了解 join 的使用方法就好,这个问题并不难,是业务上常见的需求

查看完整回答
反对 回复 2018-07-14
?
达令说

TA贡献1821条经验 获得超6个赞

直接使用join on , 或者left join on 都行, 或者你可以尝试mysql的 in() 方法

查看完整回答
反对 回复 2018-07-14
  • 3 回答
  • 0 关注
  • 313 浏览

添加回答

举报

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