mysql a表字段:name year b表字段 name home ,查询时候将b表填充给a表 不要用left join

mysqla表字段:nameyearb表字段namehome,查询时候将b表填充给a表不要用leftjoin。查询结果为nameyearhome,(a表为主,数据要全部保... mysql a表字段:name year b表字段 name home ,查询时候将b表填充给a表 不要用left join。
查询结果为 name year home, (a表为主,数据要全部保留 , b表没有对应值的就空在那)不要用left join
用where a.name=b.name也不行, 空白的会没了。
展开
 我来答
邱博威wen
2015-07-08 · TA获得超过293个赞
知道小有建树答主
回答量:206
采纳率:0%
帮助的人:122万
展开全部

简单说一下思路:

  1. 查询出来a 表

  2. 查询出来b表

  3. 嵌套foreach 先遍历a ,嵌套遍历b,遍历b一次查到数据,就从b的数据里删掉一个(效率会快) 

  4. 这样的效率,比left join 会快一点,测试过!

  5. 为啥不让用left join 方便啊!那么省事,万事不能那么绝对,简单就好,

追问
a表太大,多个用户数据都在里面 。leftjoin又没法对a表限制范围,只能对B表限制 数据量太大,a表单个用户就3000,B表是固定的10000多。3000*10000太多了 查询都要60秒,100个客户300000*10000是不可想象的
追答
数据量大,做优化,不能完全依赖sql ,明显需要nosql 从整理好的数据里取啊!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式