如何解决SQL Server查询速度缓慢的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决SQL Server查询速度缓慢的问题相关的知识,希望对你有一定的参考价值。
SQL Server查询速度慢的原因有很多,常见的有以下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
2、I/O吞吐量小,形成了瓶颈效应。
3、没有创建计算列导致查询不优化。
4、内存不足
5、网络速度慢
6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)
7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)
8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。
9、返回了不必要的行和列
10、查询语句不好,没有优化 参考技术A 你先看看绑定的时候代码有问题没。
然后注意取数据最好用存储过程,不仅快还好维护。分页查询百万级的数据我觉得不一定要用。
数据库的索引建立,以及旧数据归档也就是很有效地提高性能的方法。
在 MS SQL Server 中,将行插入表变量突然变得非常缓慢
【中文标题】在 MS SQL Server 中,将行插入表变量突然变得非常缓慢【英文标题】:In MS SQL Server, inserting Rows into a table variable became painfully slow all the sudden 【发布时间】:2010-11-30 18:04:24 【问题描述】:在 MS SQL Server 2008 中,将行插入表变量突然变得非常缓慢。 表变量以及查询和插入行的创建是在一个存储过程中完成的,它变得非常慢。
查询几乎立即完成,返回一个小集合(10 行,1 列 int),并且需要 50 秒以上的时间才能插入到表变量中。 我切换回临时表,这很好,操作在几微秒内发生。
【问题讨论】:
我们遇到了类似的问题,从连接中插入表变量非常慢。当只从一个源表中插入,然后在另一条语句中更新剩余的列时,它再次加速。 【参考方案1】:来自table (Transact-SQL)
修改表变量的查询 不生成并行查询执行 计划。 性能可能会受到影响 当表变量非常大时,或 复杂查询中的表变量, 被修改。在这些情况下, 考虑使用临时表
【讨论】:
以上是关于如何解决SQL Server查询速度缓慢的问题的主要内容,如果未能解决你的问题,请参考以下文章