不懂的做网站,网页模版下载器,网站一般都是用什么软件做的,设计制作一个保温杯一、SQL性能下降的原因
主要是性能下降SQL慢、执行时间长、等待时间长
不是一条SQL抓出来就要优化#xff0c;在真实的生产环境下这种故障第一个要去复线#xff0c;有可能去排查的时候没#xff0c;所以没法复线。
可能需要它跑半天或者一天来缩小筛查的范围#xff0c…一、SQL性能下降的原因
主要是性能下降SQL慢、执行时间长、等待时间长
不是一条SQL抓出来就要优化在真实的生产环境下这种故障第一个要去复线有可能去排查的时候没所以没法复线。
可能需要它跑半天或者一天来缩小筛查的范围不是故障一发生就能获得这条SQL而且到底是不是真的情况到底是不是SQL写的慢也可以是磁盘的空间满这些情况也会导致SQL慢。
1.查询语句写的烂
Select语句写的烂各种链接各种子查询导致用不上索引或者没见索引。所以需要看索引后期优化的内容。
2.索引失效
索引失效的前提是见没用上而没有索引是根本没见过。
索引分为单值索引和复合索引。
假如说有 id、name、email、weixinNumber
假如说 select * form user where name’
假设这个表是千万的记录假设重名的也很少要想按照这个name查的快就要在上边做一个索引。
单值索引
select * from user where name‘’;
create index idx_user_name on user(name)//id_建索引在user表的name字段上没建索引的时候是杂乱无章的现在是进行了排序所以查询的时候速度可以更快。
单值索引是只给这个表的某一个字段建一个索引
复合索引:
频繁使用的是字段要建立索引并且同时可能使用两到三个字段
select * from user where name‘’ and email’;
create index idx_user_name on user(name)
Create index idx_user_nameemail on user(name,email)
3.查询关联太多join设计缺陷或不得已的需求
join太多不好就像Java的类一样继承层次太多也不好但是有些时候是因为设计缺陷或不得已的需求。关联查询太多的join也会导致慢查询时间长。
4.服务器调优及各种参数设置缓冲、线程数等
如果这些设置不合理比例不恰当也会导致查询时间长等待时间长。
二、总结
包含但不限于这四个还会有其它的主要是前三个是跟Java工程师相关的着重的如何写好SQL如何建好索引且导致索引不失效就是重点解决的任务。