sql server数据库性能优调技术分析

sql server数据库性能优调技术分析

ID:23784015

大小:55.00 KB

页数:7页

时间:2018-11-10

sql server数据库性能优调技术分析_第1页
sql server数据库性能优调技术分析_第2页
sql server数据库性能优调技术分析_第3页
sql server数据库性能优调技术分析_第4页
sql server数据库性能优调技术分析_第5页
资源描述:

《sql server数据库性能优调技术分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、SQLServer数据库性能优调技术分析SQLServer数据库包括了MicrosoftSQLServer以及SybaseSQLServer,并且,被广泛应用于计算机的应用系统中,具有十分重要的作用。如果程序设计人员不能进行合理的数据库设计,就会影响到系统的运行性能。本文主要针对SQLServer数据库性能优调技术进行分析,找出合理的优化方法。关键词:SQLServer;数据库;SybaseSQL,即StructuredQueryLanguage的缩写,它是集数据操纵和数据定义为一体的一种数据库语言,并且,它也作为一种交互式的语言,是任何数据库管理系统都应该向用户提供的。它不

2、仅可以作为一种独立的语言被使用于终端上,还可以以子语言的形式在程序的设计中使用,也就是说,它可以嵌入使用到高级语言中,此时,通过对SQL的使用,可以方面广大的用户从中获取所需的信息。在进行应用系统的开发测试以及试运行阶段,如果仅仅通过数次的测试和数据分析,是很难找出存在于系统性能中的薄弱环节的。在经过一段时间的运行后,系统的性能会随着数据量的增加而降低自身的性能,如果在这时进行数据库的修改工作,那就需要对整个系统进行分析和测试,工作量十分巨大。所以,我们应该在设计数据库时就要把系统的性能优调考虑进去。以下是数据库优调技术的几点建议。1.性能的优化  数据库的优化主要有硬件优化

3、和程序优化两方面。首先,对于硬件的优化,主要是指通过硬件、X络、数据库以及操作系统等方面进行的优化。例如,我们可以对硬件的资源进行调整,使用更大的内存,更多的磁盘或者CPU等等;另外,可以调整RDBMS资源,像是增加共享内存池以及高速缓存区。硬件的优化最多能提升系统性能的40%,主要的优化手段,还是在于程序的优化。程序的优化主要指源代码优化以及SQL语句的优化。源代码优化涉及到了程序的逻辑上的改变,所以相对来说,在时间的成本和风险程度上都有很多的代价;并且,源代码优化对于数据库的性能优化提升上的作用也很有限,这是由于对于应用程序来说,SQL语句对于数据库的应用操作就扮演了主要

4、的角色。而对于SQL语句来说,同样的功能可以采用不能的语句来实现和完成,而且,语句的不同,其执行的速度也是有很大差别的。所以,一个好的SQL语句的使用对于数据库性能的优化提升是有很大的价值的。 语句上的优化会将系统进行一个整体上的精简,减少不必要的循环和跳转等等。例如,对于Select语句的查询,使用Where语句就会使返回的次数有一个限制,避免了不必要数据的返还,节省了I/O资源,提高了性能。另外,如果遇到了表很大的情况时,表扫描期间,表将会被锁住,此时其他链接剧不能对表进行访问,后果是很严重的。其他的,像是对于DISTINCT的使用,在不是特殊要求的时候,最好不要采用,因

5、为它会使得查询速度变缓。还有一点重要的,就是要尽量不要使用视图,因为对于视图的操作速度会比对表的操作慢的多。视图就是那些已经具有了查询规划的SQL,并且被优化好了以后放在服务器上的。所以,对它进行操作时,效率会很低。在必须要使用的时候,可以用其他的形式来代替,像是storedprocedure就是一个很好的选择。对于语句的优化,还有很多,像是Union和Unionall之间的分别和选取,使用IN语句时的注意事项等等。 2.减少数据的冗余在设计数据库时,数据的完整性是必须要注意的一项内容,但是数据一旦冗杂,就会影响到查询的速度,因此,在能搞保证数据完整的前提下,提倡减少数据的冗

6、杂。例如,在学生的信息表中,一般都要有学生的学号和姓名字,但是为了尽量减少数据冗余,应该只在信息表中出现学生的学号,而省去姓名。并且,由于每个学号职能对应与一个学生,所以,即便省略了姓名也不会影响数据的有效性,还能提高系统查询的数度。  3.游标的慎重使用 对于那些特定的集合,游标可以对其提供逐行扫描的作用,但是,游标的使用,也会降低系统的性能。由于游标是进行数据的逐行处理的,因此,相交于SQL语句的集合处理来说,必然会慢的多。特别是直接锁定目标表的游标来说,由于在处理的过程,其他用户也可以队标实行更新请求,因此会容易造成死锁或是死机的情况发生。所以,程序人员应该再开发设计时

7、,多动脑筋,尽可能的减少游标的使用,而多采用SQL语句。  4.多使用存储过程  所谓的存储过程,就是预先在服务器编译好的SQL语句,它可以通过提供参数和存储过程来进行执行。但是,相较与普通的SQL语句来说,存储过程省去了在执行时传送SQL语句给服务器的过程,而只需要参数和存储过程名即可,这样一来,就减少了很多传输的时间,同时,也提高了SQL语句的执行速度。并且,在引用系统的实际开发时,由于存储过程是不可能随便的使用SQL语句的,而是必须先要创建存储过程,但是,程序开发人员却吝惜开发此过程所需的时间。究

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。