SQL 性能下降
SQL 性能下降的几种原因:
- SQL 写的烂
- 使用了索引,但是索引失效了
- 关联查询太多 join(设计缺陷或不得已的需求)
- 服务器调优及各个参数设置的问题(比如缓冲区、线程数大小设置问题等)
Join 查询
MySQL 的 SQL 语句执行顺序
总结
七种 Join 查询
// 内连接两表共有内容
select * from emp a inner join dept b on a.deptId=b.id
// 左连接左表全有 && 两表共有内容
select * from emp a left join dept b on a.deptId=b.id
// 右连接右表全有 && 两表共有内容
select * from emp a right join dept b on a.deptId=b.id
// 左连接 左表独有内容
select * from emp a left join dept b on a.deptId=b.id where b.id is null
// 右连接 右表独有内容
select * from emp a right join dept b on a.deptId=b.id where a.deptId is null
// 全连接 两表全部内容【union 去除重复数据】
select * from emp a left join dept b on a.deptId=b.id
union
select * from emp a right join dept b on a.deptId=b.id
// 全连接 两表独有内容
select * from emp a left join dept b on a.deptId