数据库

 首页 > 数据库 > SqlServer > 影响sql server数据库查询效率的可能的原因

影响sql server数据库查询效率的可能的原因

分享到:
【字体:
导读:
         摘要:SQLServer数据库访问速度慢可能的原因有很多,本文我们对这些因素进行了总结,并给出了优化方案,接下来就让我们一起来了解一下这部分内容吧。性能影响因素常见的影响数据访问速度的因素,有以下几种:1.没有索引或者没有用到索引数据库索引就像书籍...

影响sql server数据库查询效率的可能的原因
SQL Server数据库访问速度慢可能的原因有很多,本文我们对这些因素进行了总结,并给出了优化方案,接下来就让我们一起来了解一下这部分内容吧。

性能影响因素
常见的影响数据访问速度的因素,有以下几种:

1. 没有索引或者没有用到索引 数据库索引就像书籍中目录一样,使用户在访问数据库数据时,不必遍历所有数据就可以找到需要的数据。创建索引后,可以保证每行数据的唯一性,极大地提高数据检索效率,这是一中牺牲空间换取性能的方法。没有索引或者没有用到索引是数据访问速度慢最常见的因素,也是程序设计的一个缺陷所在。

2. I/O吞吐量小,形成了瓶颈效应 I/O吞吐量是影响数据访问速度的客观因素(硬件因素)。在一定的硬件环境下,利用优化的部署方案可适当提高I/O吞吐量。

3. 没有创建计算列导致查询不优化 计算列是一个比较特殊的列,不填写任何设计类型,用户不可以改变该列的值。计算列的值是通过一定的函数公式等以另一个或多个列的值为输入值计算出的结果。如果没相应的计算列,在一些数据查询的时候需要对已有数据进行计算,从而浪费一部分性能。

4. 内存不足 对数据库数据的查询访问毫无疑问会占用大量的内存空间,当内存不足的情况下,数据的访问速度会受到明显的影响甚至访问出现超时情况,是影响数据访问速度的客观因素。

5. 网络速度慢 网络速度慢是影响数据访问速度的客观因素。可通过提高网络访问的位宽来解决。

6. 查询出的数据量过大 当查询出的数据量过大时,内存的占用、系统时间的占用等都影响数据访问的速度。可以采用多次查询、定位查询、和查询数据量控制来解决。

7. 锁或者死锁 锁或者死锁在数据库数据访问时会造成访问者等待时间过程或者永久无法获取到资源。这是查询慢最常见的因素之一,是程序设计的缺陷,要尽量避免。

8. 返回不必要的行和列 在一般的数据查询中,都尽可能多的获取数据信息,这样造成了不必要的数据遍历,大大的增加了数据访问的响应的时间。所以在一般的查询中,尽量查询少的行和列,将数据遍历时间降到最低以满足数据输出需求。

9. 查询语句不够优化 在数据查询访问过程中,使用最频繁的是使用自定义的查询语句进行数据输出的。所以编写优化的查询语句能够很大程度上提高数据查询访问的速度。
性能优化 数据库性能优化主要是提高数据访问的速度,即提高数据库响应速度的性能指标。性能优化主要分为主观因素和客观因素两部分的优化。这里主要针对影响性能的客观因素进行优化。


主观因素优化

主观因素主要是指服务器的硬件环境。主要优化有以下几个方面:

1、 把数据、日志、索引放到不同的I/O设备上,增加读取速度,数据量越大,提高I/O吞吐量越重要;

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

3、 升级硬件;

4、 提高网络访问速度;

5、 扩大服务器的内存;配置虚拟内存:虚拟内存大小应基于计算机上并发运行的服务进行配置,一般设置为物理内存的1.5倍;如果安装了全文检索功能,并打算运行Microsoft搜索服务以便执行全文索引和查询,可考虑将虚拟内存大小设置为至少计算机中物理内存的3倍;

6、 增加服务器CPU个数;其中并行处理比串行处理更需要资源。SQL SERVER根据系统负载情况决定最优的并行等级,复杂的需要消耗大量的CPU的查询适合并行处理。不过更新操作UPDATE、INSERT、DELETE不能进行并行处理。

关于影响SQL Server数据库访问速度的因素总结以及优化方案的知识就介绍到这里了,希望本次的介绍能够对您有所收获!


影响sql server数据库查询效率的可能的原因
分享到:
升级到sql server 2008的详细步骤
升级到sql server 2008的详细步骤必备项 对于本地安装,必须以管理员身份运行安装程序。如果从远程共享安装 SQL Server,则必须使用对远程共享具有读取和执行权限的域帐户。 升级数据库引擎之前,请先查看以下主题:升级到SQL Server 2008 安装 SQL Server 2008 的硬件和软件要求 系统配置检查器的检查参数安装 SQL Server ...
如何优化sql server的索引
如何优化sql server的索引关于索引的常识 影响到数据库性能的最大因素就是索引。由于该问题的复杂性,我只可能简单的谈谈这个问题,不过关于这方面的问题,目前有好几本不错的书籍可供你参阅。我在这里只讨论两种SQL Server索引,即clustered索引和nonclustered索引。当考察建立什么类型的索引时,你应当考虑数据类型和保存...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……