如何解决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查询速度缓慢的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何解决SQL Server查询速度缓慢的问题

Oracle查询速度优化问题

SQL 百分位数计算运行非常缓慢 - 需要帮助加快速度

没有返回任何内容时,SQL Server 查询运行速度较慢

ssh 连接缓慢解决方法

oracle速度变慢,怎样解决