开发者社区> 问答> 正文

mysql的这两种执行方式,那个更加高效?

第一种:select a.login_time,a.mode,a.mac,a.agent,s.shopname,ag.name from authlist a inner join shop s on a.shopid=s.id inner join agent ag on s.pid=ag.id order by a.login_time desc limit 0,30

第二种是单独查询三个表,在程序里面用foreach联合

哪种方法好呢?

展开
收起
小旋风柴进 2016-03-11 10:52:15 1933 0
1 条回答
写回答
取消 提交回答
  • 肯定是第一种,到时遇到问题,就是处理“查询优化问题”或更坏的“调整表设计更利于优化器工作”的两个问题。
    这两个问题处理过程的经验,对个人对项目都是有好处的。
    反观第二点方法,漏洞百出,比如表数据量多时怎么办?foreach循环成为瓶颈时怎么优化?你自己是否非常擅长的排序之类的算法? 这种经验什么时候再用得上?最重要一点,还有事务问题,要确保三句select在同一个事务中,这真是找麻烦啊。

    2019-07-17 18:58:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像