当前位置: 首页 > news >正文

SQL性能下降的原因

一、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,如何建好索引且导致索引不失效就是重点解决的任务。

http://www.lryc.cn/news/399774.html

相关文章:

  • js的原型
  • FastAPI 学习之路(三十七)元数据和文档 URL
  • C 语言结构体
  • MySQl高级篇-主从复制
  • JMeter案例分享:通过数据验证的错误,说说CSV数据文件设置中的线程共享模式
  • 数学建模·Topsis优劣解距离法
  • 数学建模中常用的数据处理方法
  • C嘎嘎:函数模版和类模版
  • 使用 Apache Pulsar 构建弹性可扩展的事件驱动应用
  • 【国产开源可视化引擎Meta2d.js】视频
  • 零信任网络安全
  • Python酷库之旅-第三方库Pandas(022)
  • 数据建设实践之大数据平台(一)准备环境
  • VUE2用elementUI实现父组件中校验子组件中的表单
  • 人工智能算法工程师(中级)课程9-PyTorch神经网络之全连接神经网络实战与代码详解
  • UDP网络通信(发送端+接收端)实例 —— Python
  • 从零开始实现大语言模型(五):缩放点积注意力机制
  • PTA 7-15 希尔排序
  • 【密码学】分组密码的设计原则
  • 深入解析【C++ list 容器】:高效数据管理的秘密武器
  • NFS服务器、autofs自动挂载综合实验
  • 自动驾驶事故频发,安全痛点在哪里?
  • SpringSecurity框架【认证】
  • python安全脚本开发简单思路
  • WPF学习(4) -- 数据模板
  • GuLi商城-商品服务-API-品牌管理-JSR303分组校验
  • PyTorch DataLoader 学习
  • TCP传输控制协议二
  • 【学习笔记】无人机(UAV)在3GPP系统中的增强支持(五)-同时支持无人机和eMBB用户数据传输的用例
  • 使用F1C200S从零制作掌机之debian文件系统完善NES