SQL Server查询优化器原理与优化

2017-03-06 23:40董晓海
电子技术与软件工程 2016年23期
关键词:原理优化

董晓海

摘 要

在现代化技术的发展中,随着数据数量的逐渐增加,数据库的查询优化的重要性逐渐提高。而查询优化也成为了数据库的核心操作环节。数据技术的发展和数据的查询性矛盾逐渐凸显,数据系统对于查询新能有了更高的要求。因此,我们需要对数据库管理中的主要问题进行分析,突出查询优化的功能。本文将对SQL Server查询优化器原理与优化进行分析,望给相关的从业人员提供帮助。

【关键词】SQL Server 查询优化器 原理 优化

1 前言

在信息系统中,数据系统是进行信息管理的核心环节,也是计算机得以运行的重要关节,本文将对查询操作中的重要作用进行分析,并突出查询操作在数据库操作中心中的重要地位。数据库中的查询操作是依照SELECT语句进行的操作。若信息系统中的数据信息已经存在有上千条记录,则进行全系统的扫描将需要话费十分钟的时间,若扫描的数据的速度较慢,则需要一个小时。若使用比全表进行扫描,将可以使用更好的扫描策略来大大的降低查询单额时间,因此,查询优化技术对于提高信息系统的工作效率具有至关重要的作用。

2 必要性分析

数据库中的查询优化不单单是RDBMS进行技术实现的关键性环节,也可以突出整个系统的优势所在。查询优化使得系统的选择存取路径的压力大大降低。用户在使用的过程中只需要提出需要运行的指令,并不需要操作整个运行的流程。数据系统在程序的优化方面具有很大的优势,而且还可以使得表达查询的效率大大提高。因此,查询优化的作用在进行查询和处理的阶段具有十分重要的作用,当在数据库内部提交一个查询的语句时,系统中的DBMS会对语句进行检查,并把得到的语句应用在查询优化器中。而优化器在接收到数据库的语句命令之后,根据数据系统中的优化方法进行语句的组成分析。SQL数据库中的优化器主要是依据成本优化器进行设计的。在给定查询分析的条件下,其对分析出很多候选的查询计划,同时对每个查询计划进行分析,并得到查询计划的成本和结果,根据分析的结果选择一个成本较低的运行。但是在实际的运行过程中,查询优化器并不可能对每个成本进行优化,并根据获得的信息进行估算,因此,查询优化器会综合分析查询计划的质量以及时间,并做出平衡的分析,最终得到一个最佳运行计划。SQL数据库把用户提交的语句当作是整个数据系统的优化出,其对于系统的运行效率至关重要,因此,SQL的语句是查询优化器运行的关键。

3 查询优化的途径

3.1 实现语句的规范化书写

为了使得SQL的运行效率提高,我们需要对SQL的语句书写进行分析,并实现语句的规范化。在语句的书写过程中,注重语句的大小写等方面,避免查询器进行二次解析,进而在系统中执行两个不同的计划。

3.2 正确的使用索引

在所有的数据库对象中,索引具有至关重要的地位。而SQL Server查询器是通过建立索引来进行优化查询的。所以,我们需要在数据库系统的表格上建立较为合适的索引,这样可以使得是表扫描被有效减少,最终使得查询造成的开销降低。最终可以使得数据库的查询效率以及查询性能得到改变。然而在SQL Server中创建索引会使得系统的开销在时间上和空间上都有所增加。所以,我们需要在此过程中合理的应用系统的查询需要,斌使二者紧密结合,最终达到优化和查询的目的。而SQL Server中的聚集索引在进行排序的过程中需要参照聚集索引字段的顺序。而其本身就是一种组织形式,因此具有较高的运行效率。而所插入的记录的位置不是杂乱无章的,而是需要按照一定的顺序进行,若被插入的数据页没有空间,则会导致数据页分裂。

3.3 使用%进行模糊查询时需要慎重考虑

在进行模糊查询的关键字中有%和_两个,其中前者表示的是包含零个或者任意多个字符串,而后者表示的是单个字符,所以,在使用%时需要慎重考虑。

3.4 连接查询优化分析

SQL Server主要有三种连接的方式。在进行连接的过程中要注意字段需要选择含有聚集索引的字段。实际中,聚集索引的字段顺序已经得到确定,所以需要进行两个表的数据进行连接。而若想保障执行的效率需要把A表和B表的数据进行连接。当需要对where的条件进行考虑时,首先要做好运算选择,并尽量控制A表和B表的结果集,然后在进行连接。

3.5 存储过程的使用

存储过程中所使用的Procedure是一组可以完成特定功能的SQL Server语句,其是在编译结束之后,在进行存储的。其在进行存储的过程中囊括了逻辑控制语句以及数据操纵语句等,因此,Procedure可以实现数据的接收、输出等。但是其在存储的过程中需要在数据库中进行编译,并在数据库中进行存储,因此,在运行速度上与单独的SQL Server语句要快很多。此外,在调用时仅仅需要使用存储的名字以及必要的参数信息,所以可以减轻网络负担。

4 结语

综上所述,我们在进行SQL Server的开发和利用的过程中,可以使用查询优化器进而提高系统的整体性能。查询优化的优势在进行大量的数据查询中十分重要。本文对SQL Server查询优化器的原理进行分析,并介绍了查询优化的优越性,最终提出进行SQL Server查询优化的策略,发现SQL Server的查询优化实际就是在保证结果正确的基础上,使用优化器进行语句识别,同时利用索引,控制表扫描的I/O次数。当SQL Server收到用户的查询命令时,可以根据优化措施来有效地缩短查询的时間,保障查询的效率。这对于数据量较大的查询操作具有重要意义。因此,为了使得海量数据的查询更加高效,我们需要发挥SQL Server查询优化器的优势,同时进行查询优化器的完善,保障查询的质量。

参考文献

[1]刘维学.SQL Server查询优化器原理与优化实例分析[J].计算机技术与发展,2013(8).

[2]未培.SQL SERVER查询优化实证研究[J].山东农业工程学院学报,2014(05).

[3]王军弟.SQL Server查询优化技术的研究与实现[J].科技视界,2016(06).

作者单位

云南省水文水资源局大理分局 云南省大理市 671000

猜你喜欢
原理优化
超限高层建筑结构设计与优化思考
一道优化题的几何解法
了解咳嗽祛痰原理,有效维护健康
平均场正倒向随机控制系统的最大值原理
化学反应原理全解读
通信原理教学改革探索