mysql学习笔记-SQL性能问题原因以及SQL语句执行加载顺序

188 阅读1分钟

性能问题出现的原因

  • SQL语句写得不佳,没有优化
  • 索引失效导致查询速度慢
  • 关联查询太多join
  • 服务器调优以及各个参数设置(缓冲,线程数等等)

SQL执行加载顺序

SQL语句书写顺序

SELECT DISTINCT
<select_list>
FROM
< left_table > < join_type >
JOIN < right _ table > ON < join_condition >
WHERE
<where_condition>
GROUP BY
<group_by_list>
HAVING
<having_condition>
ORDER BY
<order_by_condition>
LIMIT < limit_number >

计算机读取SQL语句的顺序

1 FROM <1eft_table>
2 ON <join_condition>
3<join_type>JOIN<right_table>
4 WHERE <where_condition>
5 GROUP BY <group_by_list>
6 HAVING <having_condition>
7 SELECT
8 DISTINCT &lt;select list&gt;
9 ORDER BY <order_by_condition>
1O LIMIT < limit _ number >

MySQL5.5当中SQL解析的顺序

join理论小提示

在mysql当中可以用union合并左查询和右查询得到全有查询,union自带去重的功能。