Techyou labs
真正的爱应该超越生命的长度,心灵的宽度,灵魂的深度
常用标签
您正在查看:标签 left join 下的文章
August 16, 2016

大部分时候,两个大表做join的时候,where条件前置不但可以节省扫描行数,还能避免创建磁盘临时文件:
优化前:


SELECT g.goods_id, g.add_time, g.goods_name, g.market_price, g.is_new
    , g.is_best, g.is_hot, g.shop_price AS org_price
    , IFNULL(mp.user_price, g.shop_price * '1.00') AS shop_price
    , g.promote_price, g.promote_start_date, g.promote_end_date, g.goods_thumb, g.goods_img
    , g.goods_brief, g.goods_type
FROM `ecshop`.`fp_goods` g
    LEFT JOIN `ecshop`.`fp_member_price` mp
    ON mp.goods_id = g.goods_id
        AND mp.user_rank = '1'
WHERE (g.is_delete = 0
    AND g.is_on_sale = 1
    AND g.is_alone_sale = 1
    AND 1)
ORDER BY goods_id DESC
LIMIT 200, 40