请问这个多表联查sql还能怎么优化?

longzl123 longzl123 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
请问这个多表联合查询的sql语句还能怎么优化?现在以查询cpu就会彪很高。

SELECT
o.mobile AS mobile,
o.user_name AS userName,
o.dealer_id AS dealerId,
o.location_id AS locationId,
o.user_ip AS userIp,
CASE
WHEN LENGTH(IFNULL(city.attach_province_id, '')) = 0
THEN city.city_name
ELSE CONCAT(city.attach_province_name,' ',city.attach_city_name)
END AS city,
CONCAT(car.car_name,' ',car.car_year) AS carName,
cs.cs_show_name AS cbName,
cs.mb_Name AS bsName,
o.car_id AS carId,
DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%s') AS createTime,
o.update_by AS updateBy,
o.STATUS,
o.source,
o.channel,
o.zt,
o.key
FROM car_order o
LEFT JOIN car_city city ON o.location_id = city.city_id
LEFT JOIN (SELECT dealer_short_name, dealer_id FROM car_dealer GROUP BY dealer_id) dealer ON dealer.dealer_id = o.dealer_id
LEFT JOIN car_info car ON car.car_id = o.car_id
LEFT JOIN car_serial cs ON cs.cs_id = car.cs_id
WHERE date_format(o.create_time, '%Y-%m-%d') BETWEEN date_format('2016-12-14', '%Y-%m-%d') AND date_format('2016-12-15', '%Y-%m-%d')

这个是通过explain分析得出的数据截图
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
longzl123
MySQL 57,062 成员 56,759 内容