性能压测,SQL查询异常
早上测试对性能压测,发现取sequence服务大量超时报错,查询线上的监控SQL:
大量这个查询,我在DeviceID和Isdelete上建有复合索引,应该很快,而且我测试了一下,取值,执行效率很高,不会出现慢的情况。
但是通过SQL Profile工具监控,发现这个sql,执行的CPU和IO都是很高,取出profile监控出来的sql:
exec sp_executesql N'select * from AppCustomerDevice where DeviceID=@DeviceID and IsDelete=0',N'@DeviceID nvarchar(4000)',@DeviceID=N''
原来这条数据查出17多万条数据,所以执行很慢。后来沟通下来DeviceID='' 是一些错误数据,技术可以把这些IsDelete=0的数据改成IsDelete=1,改成1后,按情况SQL应该优化好了,
但是通过SQL Profile工具发现,还是这个sql执行起来很慢,看其执行计划还是走的全表扫描,让技术把这个参数化的写法改成非参数化,但是要发版,后来在@DeviceID=N‘2’ 随便取值还是IO很高。
看情况是执行计划有午,要么固定其执行计划,加上 with(index=索引名),但是发版时间长,感觉就是统计信息不对,
在这个库上执行了一下更新统计信息: EXEC sp_updatestats ,在清空一下缓存: dbcc freeproccache
再次执行,发现用到索引。问题解决。
总结:
1,一直以为建索引就OK,其实要看查询sql这个的数据量有多少,刚好这个查询就是查得最大的,17多万条,而且全部取出,
2,参数化查询后,执行计划未选择最优,可以考虑先更新一下数据库的统计信息 ,在清空一下缓存
转载于:https://www.cnblogs.com/zping/p/11053286.html
性能压测,SQL查询异常相关推荐
- 性能压测诡异的Requests/second 响应刺尖问题
最近一段时间都在忙着转java项目最后的冲刺,前期的coding翻代码.debug.fixbug都逐渐收尾,进入上线前的性能压测. 虽然不是大促前的性能压测要求,但是为了安全起见,需要摸个底心里有个数 ...
- Mycat对于导入和扩容迁移性能压测
Mycat对于导入和扩容迁移性能压测 1. 测试环境 1.1. 硬件环境 机器ip OS CPU CPU Processors 内存 172.16.54.135 CentOS Linu ...
- 高性能分布式缓存redis(持久化原理 安全策略 过期删除内存淘汰策略 性能压测 高可用 Redis Cluster)
redis redis(持久化原理 安全策略 过期删除&内存淘汰策略 性能压测 高可用 Redis Cluster) 1. 持久化原理 1.1 持久化流程(落盘) 1.2 RDB详解 1.2. ...
- 年度大促将至,企业如何进行性能压测
作者:拂衣 为什么要做压测 随着无线设备的普及和 5G 的大力建设,越来越多的线上系统.小程序成为了人们生活中必不可少的工具.与此同时,年底各类大促活动接踵而至,对于这些电商软件而言,都会面对一个问题 ...
- 谷粒商城项目篇8_分布式高级篇_商城首页、性能压测、优化(Nginx动静分离)
目录 商城首页 整合thymeleaf springmvc的WebMvcAutoConfiguration 首页三级分类渲染 Nginx代理 Nginx代理会丢掉host信息 压力测试 性能检测 性能 ...
- 工作这么多年还不知道如何对MySQL进行性能压测?这也太Low了吧
大家好,我是冰河~~ 今天给大家带来一篇关于MySQL的技术文,这也是我对MySQL使用UUID做主键与int数字做主键做的性能压测. 之前,总有小伙伴问我:为何使用UUID做MySQL的主键,MyS ...
- Mall商城的高级篇的开发(二)性能压测和性能监控
Mall商城的高级篇的开发(二) 性能压测–压力测试 压力测试考察当前软件硬件环境下系统所能承受的最大负荷并帮助找出系统的瓶颈所在.压测都是为了系统在上线的处理能力和稳定性维持在一个标准的范围内,做到 ...
- 数据库性能压测之TPC-C基准测试
如果大家平时对数据库新闻比较关注的话,相信对上面的图片可能会有些印象,去年10月有个震惊业界的新闻是蚂蚁金服OceanBase数据库刷新了TPC-C纪录,打破了尘封已久的记录问鼎第一名. 这对国产数据 ...
- 并发模式与 RPS 模式之争,性能压测领域的星球大战
Photo by Daniel Cheung on Unsplash 本文是 <如何做好性能压测>系列专题分享的第四期,该专题将从性能压测的设计.实现.执行.监控.问题定位和分析.应用场景 ...
最新文章
- 使用Apache php 的一些基本操作(一)
- pageSet的底层数据库存储逻辑
- linux中在工作空间编译cpp,linux tensorflow2.4.0 c++ 编译
- 物联网企业该如何与华为云合作,这份FAQ值得一看
- 类字面常量和静态代码执行顺序
- 安装及创建python虚拟环境
- 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_11_练习:集合元素处理(Stream方式)...
- 关于凸包算法和叉积的应用
- www.icourse163.org中国大学MOOC网页端无法打开或显示不全的解决方法
- 关于“论文他引次数”、“检索号”及“ESI 高被引论文”的查询方法
- CSS 样式实现单边阴影
- Linux下GUI开发:GTK+ 2.0 + anjuta + glade
- 简易的C语言判断输入的年份为闰年还是平年
- Real-Time Rendering——Chapter 8 Light and Color光和颜色
- Java SE 8: 从入门到上瘾
- [Python] 编码生成26个英文字母
- 第五章IPv6和VOIP
- 用limma包的voom方法来做RNA-seq 差异分析
- 学生DW静态网页设计——代码质量好-家乡广州 (5页) HTML+CSS+JavaScript web网页制作期末大作业
- gitlab(ce版本)安装卸载汉化数据迁移
热门文章
- Centos下安装MongoDB复制集
- GitLab [Webhooks] 实现自动化服务器部署
- [转]阿里巴巴数据库连接池 druid配置详解
- UVA 10795 新汉诺塔问题
- this.name=name;和this.setName(name);的区别
- 关于HTML5的十条霸气侧漏预测
- 由谈退格键的实现来学习字符编码
- centos ipsec tunnel 配置
- Dynamic Setting ImageUrl In DataPager
- 操作系统内存管理_操作系统6内存管理基础