MYSQL查询的优化主要参考哪些手册?
我写了一段查询,但是我觉得太长了。想要优化一下,不知应该参考哪些手册和资料。
SELECT
班级名单.姓名,
IF
( ISNULL(阶段详情和总分.变动原因 ), "无纪录",阶段详情和总分.变动原因 ) AS 最近变动,
IF
( ISNULL(阶段详情和总分.操行分 ), 0,阶段详情和总分.操行分 ) + 85 as 总分
FROM
( SELECT `姓名` FROM cnos.`学生学籍号` WHERE `班级` LIKE '班级名称' )班级名单
LEFT JOIN (
SELECT
阶段变化详情.*,
全部操行总分.操行分
FROM
(
SELECT
`姓名`,
GROUP_CONCAT( `事件详情`, ' ', `分值变化`, ' ', MID( `发生时间`, 6, 5 ) ORDER BY 发生时间 SEPARATOR "\r\n" ) AS 变动原因
FROM
`操行详情校`
WHERE
`发生时间` >= '详情起始时间'
AND `发生时间` < '详情终止时间'
GROUP BY
`姓名`
) 阶段变化详情
LEFT JOIN ( SELECT `姓名`, sum( `分值变化` ) AS 操行分 FROM cnos.`操行详情校` WHERE cnos.`操行详情校`.`发生时间` > '总分统计起始时间' GROUP BY `姓名` ) 全部操行总分 ON 阶段变化详情.`姓名` = 全部操行总分.`姓名`
)阶段详情和总分 ON 班级名单.姓名 =阶段详情和总分.姓名 ORDER BY 姓名
推荐文章: