sqlserver读取慢,sqlserver查询突然很慢

为什么 sqlserver 慢

首先应该确定是谁慢的,往往是程序处理方面的问题而不是数据库的问题。

铅山网站建设公司成都创新互联,铅山网站设计制作,有大型网站制作公司丰富经验。已为铅山上千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的铅山做网站的公司定做!

程序方面应该尽可能的减少数据查询返回的内容,减少IO压力,磁盘IO和网络IO是非常非常慢的。比如可以查询返回ID,然后再根据ID一条一条的查询具体内容,看似慢了,在数据量大的时候快很多

对于数据可以参照下面几点

1、优化SQL语句,SQL语句对查询速度影响最大的

2、对于经常查询的字段作索引。但是这样会增加修改时的压力

4、优化SQLServer,比如给其分配固定的内存,预先分配查询内存,调整CPU使用率等。SQL Server 可以占用几乎所有Windows的内存,但是申请内存开销很大。因此可以设定其使用固定大小内存,比如启动就分配1G以上内存。

5、优化硬件资源,比如使用更高的服务器或者硬盘,独立安排数据库的数据文件和索引文件,将数据文件分布于不同的物理硬盘上等等

6、考虑使用分布数据库或者对大表进行拆分

我们SQLSERVER配置这么高,为什么还这么慢

慢的三个原因,IOPS,CPU,内存,锁。

数据库默认是占满内存做缓存的,如果你有2个不同的数据库,内存不分配好,就出现争用内存的情况。

CPU一般建议80%左右,索引、大逻辑查询,count等统计信息都是走CPU,CPU高肯定慢。

IOPS,就是写入速度,如果经常批量写数据,批量查数据,或者直接全部数据读取后给前端处理,IOPS不足就会影响数据吞吐形成等待。

锁,也就是事务,大量事务会出现枪锁情况,这个情况也会等待,甚至死锁。

如何对sqlserver进行简单的优化

SQL Server数据库查询速度慢的原因有很多,常见的有以下几种:

1、没有索引或者没有用到索引(这是查询慢最常见的问题,是数据库设计的缺陷)

2、I/O吞吐量小,形成了瓶颈效应。

3、没有创建计算列导致查询不优化。

4、内存不足

5、网络速度慢

6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)

7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)

8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。

9、返回了不必要的行和列

10、查询语句不好,没有优化

●可以通过以下方法来优化查询 :

1、把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在支持。数据量(尺寸)越大,提高I/O越重要。

2、纵向、横向分割表,减少表的尺寸(sp_spaceuse)

3、升级硬件

4、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该尽量小,使用字节数小的列建索引好(参照索引的创建),不要对有限的几个值的字段建单一索引如性别字段。


当前文章:sqlserver读取慢,sqlserver查询突然很慢
URL标题:http://pwwzsj.com/article/dseijde.html