偶遇 sqlserver 参数嗅探
2024-10-21 22:59:22
需求:
费用统计
环境:
查询设计多张大表
解决方案:
优化查询语句,封装成存储过程,建立索引,最终查询速度很不错。部署上线,告一段落。。。
一段时间后投诉来了。。。
客户投诉说查询没内容,我看了日志是超时了。我自己也通过应用查询了一把也是超市,sql profiler 抓下执行存储过程的语句,放到sqlserver management 中执行也是很慢。
当时十分费解,原因是当时开发时速度很快,怎么经过一段时间后就慢了呢?
回头继续写。。。
2014-07-27 继续。。
主要原理是多表连接时,违背了小表驱动原则。
自己测试时可能使用了一个小比重条件,的确是符合小表驱动原则,然后这种执行计划被缓存了。。
结果再客户查询的时候,他输入的是大比重条件,变成大表驱动,导致很慢。
知道原理后,解决方案就多了。
最新文章
- logstash+elasticsearch+kibana管理日志(安装)
- datatables中的Options总结(2)
- MSSQL N张表关联查询
- Spring In Action ②
- ORACLE中创建和删除临时表
- Gdata XML解析配置和简单使用
- andriod的简单用法2
- [Openstack]使用devstack自己主动化安装
- Java程序员面试题集(51-70)(转)
- 【python之路12】三元运算符(if)
- Sql Server 查询多行并一行
- Struts2+Spring+Hibernate环境搭建
- C# wav语音文件合并
- 基于python的统计公报关键数据爬取
- zepto中的scrollTo
- sparkSQL将谓词推入kudu引擎
- javascript 体验定时器
- La Vie en rose (模拟)
- Object对象的浅拷贝与深拷贝方法详解
- hadoop zookeeper高可用
热门文章
- UVa 615 - Is It A Tree?
- 《javascript高级程序设计》读书笔记(四)引用类型
- 报错:maven:java.lang.NoClassDefFoundError: org/apache/commons/io/Charsets
- redis学习笔记——RDB、AOF和复制时对过期键的处理
- database工具
- 微信公众平台开发小记(ASP.NET)
- GDB+GdbServer: ARM程序调试
- vConsole
- Android Exception 7(attempt to re-open an already-closed object )
- struts result动态结果集 带参数的结果集