SQL调优(性能调优,性能监控,mysql慢日志,orcal执行计划PLSQL)

Sql 调优

首先在学习的过程中,我会先了解一个这个东西是做什么用的,为什么要用。

做什么:

 随着系统的数据量逐年增加,并发量也成倍增长,很多时候下,一个项目数据库的数据数量是成千上百万条数据,如果对数据库查询做的是全表扫描,那么首先在时间上面就很不合算,同时在读写操作的过程中又会造成资源的浪费。这就会造成一下几个问题的出现:1.查询性能低,2.执行时间过长,3.等待时间过长。在我们课设中数据量小很难感受出来,但是这不代表SQL调优的不必要性。

所以SQL调优就是为了解决这些问题(感觉不止这些,一天时间先了解一点)。

为什么要用sql调优:

一个应用吞吐量往往出现在数据库的处理速度上,随着应用程序的使用,数据库数据逐渐增多,数据库处理压力逐渐增大,关系型数据库的数据是存放在磁盘上的,读写速度较慢(与内存中的数据相比).

同时我觉得一张图可很好解释

                             

 

由此可得sql调优性价比最高

在此过程我了解了一下mysql查询语句的执行过程

                         

 

流程是这个样子的:1通过网络通讯协议,去接受客户端传过来的SQL,2然后去查询缓存里面去去看一下这个sql查询对应的结果是否存在,存在则立马返回结果,不存在就是继续往下走。3没有结果存在的话,那就通过解析器来解析这一条SQL语句,最终形成一个解析树,4然后再由插叙优化器对解析树进行优化。5根据优化出来的结果得出要执行查询计划,吧这个查询计划交给查询引擎里面去执行。6引擎再调用相应的API,最后由存储引擎来完成数据查询,然后返回结果。

进入正题:如何优化:

1.表字段的设计阶段,考量更优的存储和计算

2.数据库自身提供的优化功能,如索引

3.横向扩展,主从复制、读写分离、负载均衡和高可用(有点难,不理解)

4.典型SQL语句优化

首先是比较常用的sql语句优化:太多了,这边挂链接,不复制过来

https://blog.csdn.net/qq_39390545/article/details/103993559

(插眼到前30已看完)

索引的优化(插眼前30)

https://blog.csdn.net/qq_39390545/article/details/103993559

什么是数据库性能问题?

 

               

如何性能监视

性能监视器。在管理工具中找到,或者运行 perfmon即可打开

https://blog.csdn.net/capsicum29/article/details/71436921(插眼性能指标)

慢日志:

MySQL的慢查询是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阙值的语句,具体是指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。

当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志或多或少会带来一定的性能影响。

日志一些常规常做插眼:

https://blog.csdn.net/XlxfyzsFdblj/article/details/104342873

 

执行计划:

什么是执行计划?

执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述。

执行计划描述了SQL引擎为执行SQL语句进行的操作;分析SQL语句相关的性能问题或仅仅质疑查询优化器的决定时,必须知道执行计划;所以执行计划常用于sql调优。

怎么看执行计划

 

如果是使用PLSQL的话,那就可以使用PLSQL提供的查询执行计划了,也就是按F5

打开PLSQL工具 -> 首选项 -> 窗口类型 -> 计划窗口 ,在这里加入执行计划需要的参数,但是可能会翻车,看下来

https://www.cnblogs.com/mzq123/p/13156390.html#2%E3%80%81%E4%BB%80%E4%B9%88%E6%98%AF%E6%89%A7%E8%A1%8C%E8%AE%A1%E5%88%92%EF%BC%9F

插眼:怎么查看真实计划

 

哪我要怎么看懂这个执行计划?

有点多,不复制过来,因为用的不是orcal也没整明白,后期要补一下

https://www.cnblogs.com/mzq123/p/13156390.html#2%E3%80%81%E4%BB%80%E4%B9%88%E6%98%AF%E6%89%A7%E8%A1%8C%E8%AE%A1%E5%88%92%EF%BC%9F

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值