还是可以优化的。
子查询没有必要,对所有查询字段使用 c.OUTLETS_STATE as XXXX,直接使用子查询语句就可以有想要的结果了。
where 1=1没用,如果有其它条件查询,放在on里面会比where快
ON c.AREA_CODE=t.AREACODE 这个要有外键关系。
c.REGTIME 要有索引,会加快速度。
外层的查询没有做任何操作,为什么要套一层?直接用最里面一层select不行吗?
还有你那个where 1=1 是什么意思?
select ID,
OUTLETS_NAME,
ADRESS,
PHONE,
AREA_CODE,
PUBLIC_TIME,
PRIVATE_TIME,
WEEKNESS_TIME,
ADRESS_INFO,
REGTIME,
PLATTIME,
c.OUTLETS_STATE,
c.EXT,
TUDE,
IS_OPEN,
c.OUTLETS_TYPE,
c.AREANAME areaa,
OUTLETS_BUS,
t.AREANAME areaname,
t.PROVNAME,
t.PROVCODE,
t.AREACODE
from CMBC_OUTLETS c
LEFT JOIN tarea t ON c.AREA_CODE = t.AREACODE
where 1 = 1
order by c.REGTIME desc
加个外键c.AREA_CODE=t.AREACODE 中的AREACODE ,where 1=1?没办法优化!
可以把括号里的内容创建一个视图,
然后从视图中查询