ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 数据库 >> 其他数据库 >> MySQL查询优化 mysql 语句优化一列

MySQL查询优化 mysql 语句优化一列(1/2)

来源:网络整理     时间:2016-07-16     关键词:MySQL查询优化

本篇文章主要介绍了"MySQL查询优化 mysql 语句优化一列",主要涉及到MySQL查询优化方面的内容,对于其他数据库感兴趣的同学可以参考一下: 优化前语句:SELECTifnull(s.mileage, -1) as mile,s.fuel_hkm as val,t.fhkm_rank as rank,...

优化前语句:

SELECT

ifnull(s.mileage, -1) as mile,

s.fuel_hkm as val,

t.fhkm_rank as rank,

ifnull((select u.photo from app_user u where u.user_id = t.user_id  limit 1),'') as path,

case when s.car_id = '***********' then 0

else 1 end as self,

ifnull((

SELECT

case 

when ifnull(u.nickname, '') != '' then u.nickname 

when ifnull(u.username, '') != '' then u.username 

when ifnull(u.customer_number, '') != '' then u.customer_number

else u.mobile END as uname

FROM

app_user u

WHERE

u.user_id = t.user_id

LIMIT 1

),'')  as manname,

ifnull((select case when ifnull(c.nickname,'') != '' then c.nickname else REPLACE(c.lisence,SUBSTR(c.lisence,3,3),'***') end from app_car c where c.car_id = t.car_id limit 1),'')  as carname

FROM

app_car_sum_7daily s,

app_rank_ka t

WHERE

 t.date = '2016-07-12'

 and t.date = s.date

 and t.car_id = s.car_id

 and s.fuel_hkm > 0

 and t.fhkm_rank > 0

ORDER BY rank,self,convert(manname using gbk) limit 10

优化后语句:

select * from (

select 

ifnull(s.mileage, -1) as mile,

s.fuel_hkm as val,

t.fhkm_rank as rank,

ifnull(u.photo,'') as path,

case when s.car_id = '***********' then 0

else 1 end as self,

case

when ifnull(u.nickname,'') != '' then u.nickname

when ifnull(u.username,'') != '' then u.username

when ifnull(u.customer_number,'') != '' then u.customer_number

else ifnull(u.mobile,'') end as manname,

case

when ifnull(c.nickname,'') != '' then c.nickname

else ifnull(REPLACE(c.lisence,SUBSTR(c.lisence,3,3),'***'),'') end as carname

from

app_rank_ka t 

join app_car_sum_7daily s on (s.date = t.date and s.car_id = t.car_id and s.fuel_hkm > 0)

MySQL查询优化相关图片

MySQL查询优化相关文章